1. 使用MVC框架
是时候使用像 codeigniter 这样的MVC框架了. MVC框架并不强迫你写面向对象的代码. 它们仅將php代码与html分离.
>>明确区分php和html代码. 在团队协作中有好处, 设计师和程序员可以同时工作.
>>面向对象设计的函数能让你更容易维护
>>内建函数完成了很多工作, 你不需要重复编写
>>开发大的应用是必须的
>>很多建议, 技巧和hack已被框架实现了
2. 永远不要將 error_reporting 设为 0
关闭不相的错误报告. E_FATAL 错误是很重要的.
ini_set('display_errors', 1);
error_reporting(~E_WARNING & ~E_NOTICE & ~E_STRICT);
注意:
1. 这个让 web 服务器记录错误信息的文件 '/path/to/errors.txt' 应该让 web 服务器具有可写的权限。
2. 这个错误日志文件要独立开来。否则所有的各种日志,包括 apache web 服务器的日志、其它的错误日志都将混杂在一起了。
3. 而且,为当前应用程序设置的错误日志文件应该只记录了当前应用程序的错误日志(有可能web 服务器上还运行了其它的应用程序)。
4. 应用的错误日志应该放在当前应用程序的某个目录下,使得像 /var/log 这样的系统目录不再需要去寻找。
5. 不要设置 error_reporting 为 0。这会使得所有发生的一切都不会被记录。
另外,set_error_handler 应该被用于设置一个用户自定义的错误处理方法。例如,这个特有的功能,可以记录所有的错误到一个文件中。
在开发环境的php.ini 中设置 'display_errors=On'
在开发环境的 php.ini 里,启用 display_errors 的权限是很重要的 (且不要依赖于 ini_set 的设置)。
这是因为任何编译时发生的错误都不允许 ini_set 来运行,这会导致出现一个空白页面而没有任何错误信息被显示出来。
同样的,在 php.ini 中设置为了 On,但在代码中把其设置为了 off,那么错误发生时同样显示不出来。
在产品环境的 php.ini 中设置 'display_errors=Off'
不要依赖于代码 init_set('display_errors' , 0); 因为如果编译时代码发生错误,那么这条语句就不会被执行,而错误信息就会马上显示给了客户。
3. 在 Linux 上开发
如果你已经在 windows 系统上进行开发了,那么你可能需要试试在 linux 上做开发。我最喜欢的 linux 是 ubutu。虽然这只是可选的开发环境之一,但我仍然强烈地感觉到 linux 开发环境是一个更好的开发环境
Php 应用通常被部署到 linux (LAMP)环境中。然而,在类似的开发环境能够帮助一个健壮的应用程序跑得更快。
在 Ubuntu 系统上,通过安装包管理器,大多数开发工具都可以非常容易地安装到系统中。除此之外,仅通过少量的配置就可以设置好他们并跑起来。而最美妙的是,这些工具都是免费的!