Jan
08切换到你项目的根目录下,执行下面的命令,会逐行显示每个文件的行数,和累加值。
这里是统计PHP代码,对所有类型的文件分别执行这个命令,把结果加起来就可以了。
注意,这种方式把注释和换行都算作代码内容了,是粗略的统计。
Jan
08切换到你项目的根目录下,执行下面的命令,会逐行显示每个文件的行数,和累加值。
这里是统计PHP代码,对所有类型的文件分别执行这个命令,把结果加起来就可以了。
注意,这种方式把注释和换行都算作代码内容了,是粗略的统计。
Jan
05很多网站在写HTML的时候,没有指定DTD,也就是没有设置DOCTYPE。
上学的时候,老师说,DreamWeaver 生成的页面,头部的DOCTYPE都是垃圾信息,应该直接写成<html>。
学院派真是误人子弟……
W3C标准是要制定DOCTYPE的,最显著的区别,我认为就是IE显示Div等元素时采用的盒模型问题。
也就是说,对margin、border等样式所占的面积,是算在Div内部还是外部?
在设定DOCTYPE之前和之后,显示方式是完全不同的。
可以在
http://leakon.googlecode.com/svn/trunk/leakon/html/ie_box/
看到源码。
通过设置dtd参数,可以看到在两种DOCTYPE下显示方式的不同。
但在Firefox等现代浏览器下,两种显示方式是一样的。
Jan
03使用Symfony的同学,连接数据库时,如果想指定编码,需要在得到数据库Connection的时候发送一条SET NAMES UTF-8语句,以保证统一。
针对这个问题,我以前写过2篇Blog,地址:
里面是通过修改Creole的源码,symfony/vendor/creole/Creole.php,加入一个setUTF8方法。
这个方式管用,但不是最好。
这两天看了Symfony的 Code snippets ,发现很多Symfony的运行机制,看到一个FilterChains,可以由用户添加一个Filter到调用链中,可以在系统初始化时自动运行。
利用这个特点,把设置连接编码的语句,添加到一个filter中,每次自动运行:
再编辑 apps/front/config/filters.yml 文件,在开头加入:
这样就可以达到目的,而以前的实现方式需要修改插件源码,无法在一个系统中运行多个Symfony项目。
随着逐渐深入Symfony,并反复查看文档和代码,可以学到很多Web开发的经验和技巧。
这回,深刻体会到了“温故而知新”的内涵。
Jan
03今天在服务器上新装了apache,把用Symfony开发的后台程序部署到服务器上,发现生产版本的环境无法使用,居然报404 Not Found。
刚开始没想到是什么原因,反复翻文档,检查虚拟主机的配置,和目录权限,以及.htaccess文件,都正确无误。
在自己的Windows环境是好好的,但在服务器上却不行。
后来就拿.htaccess开刀,因为受到一点Apache手册的启发,就是在.htaccess中添加一些错误代码,以检查.htaccess是否正确运行。
其实本来就应该能想到这样做的,只是觉得问题可能出现在其他地方。
果不其然,就是.htaccess中的<IfModule mod_rewrite.c>,在这个分支里面随便写任何东西,都不会起作用。
看来Apache没有正确安装mod_rewrite.so。
一时也不知道如何验证,后来在网上查了半天才查到。
先列一串命令吧:
通过这样几步,检查没问题后,重启apache,mod_rewrite模块就安装完成了。
再打开Symfony的后台,所有页面都可以正确打开。
我通常都在自己的笔记本上开发程序,用xampp套件,很多常用模块都是默认安装好的,使用之前只要把httpd.conf文件中相应模块前面的#去掉就可以了,一下子把程序部署到服务器,很多模块都没装,还真是不适应。
Jan
01看着秒针跨过12点的刻度,在向2007道别的同时,迎来了2008。
时间不会停止,不会留恋,只会不停地向前走。
祝福大家新年快乐!