今天谈谈一些关于改善和优化PHP代码的提示和技巧。
主要是由封装函数思想,需要改变的地方可以设置变量,而不是一个字符串,说的可能不太清楚,等你遇到了。。。。也就明白了
不要使用相对路径,要定义一个根路径
require_once('../../xxx.php');
这种方法有很多缺点:
1.它首先搜索php包括路径中的指定目录,然后查看当前目录。因此,会检查许多目录。
2.当一个脚本被包含在另一个脚本的不同目录中时,它的基本目录变为包含脚本的目录。
3.另一个问题是,当一个脚本从cron运行时,它可能不会将它的父目录作为工作目录。
不使用require,包括require_once或include_once
你的脚本上可能会包括各种文件,如类库,实用程序文件和辅助函数等,就像这些:
require_once('../Database1.php');
require_once('../Database2.php');
require_once('../Database3.php');
这相当粗糙。代码需要更加灵活。写好辅助函数可以更容易地包含东西。举个例子:
function load_class($class_name)
{
$path = ....;//path to the class file
if(file_exists($path))
{
require_once( $path );
}
}
说白了,有重复样式的就封装成一个函数,这样做可以完成很多事情:
1.为同一个类文件搜索多个目录。
2.轻松更改包含类文件的目录,而不破坏任何地方的代码。
3.使用类似的函数用于加载包含辅助函数、HTML内容等的文件。
不要在你的应用程序中gzip输出,让apache来做
考虑使用ob_gzhandler?不,别这样做。它没有任何意义。PHP应该是来写应用程序的。不要担心PHP中有关如何优化在服务器和浏览器之间传输的数据。
使用apache mod_gzip/mod_deflate通过.htaccess文件压缩内容。
改变应用程序创建的文件的权限
当在Linux环境下工作时,权限处理会浪费你很多时间。因此,只要你的php应用程序创建了一些文件,那就应该修改它们的权限以确保它们在外面“平易近人”。否则,例如,文件是由“php”用户创建的,而你作为一个不同的用户,系统就不会让你访问或打开文件,然后你必须努力获得root权限,更改文件权限等等。
// Read and write for owner, read for everybody else
chmod("/somedir/somefile", 0644);
// Everything for owner, read and execute for others
chmod("/somedir/somefile", 0755);
使用php过滤器验证数据
你是不是使用正则表达式来验证如电子邮件,IP地址等值?是的,每个人都是这样做的。现在,让我们试试一个不同的东西,那就是过滤器。
php过滤器扩展程序将提供简单的方法来有效验证或校验值。