PHP如何保证代码质量
内容导读
收集整理的这篇技术教程文章主要介绍了PHP如何保证代码质量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2336字,纯文字阅读大概需要4分钟。
内容图文
php提高代码质量的一些方法
1、不要使用相对路径
常常会看到:
require_once('../../lib/some_class.php');
该方法有很多缺点:
它首先查找指定的php包含路径, 然后查找当前目录,因此会检查过多路径。如果该脚本被另一目录的脚本包含, 它的基本目录变成了另
一脚本所在的目录.另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工作目录了.
因此最佳选择是使用绝对路径:
define('ROOT' , '/var/www/project/');require_once(ROOT . '../../lib/some_class.php');//rest of the code
我们定义了一个绝对路径, 值被写死了. 我们还可以改进它. 路径 /var/www/project 也可能会改变, 那么我们每次都要改变它吗? 不是的,
我们可以使用__FILE__常量, 如:
//suppose your script is /var/www/project/index.php//Then __FILE__ will always have that full path.define('ROOT' , pathinfo(__FILE__, PATHINFO_DIRNAME));require_once(ROOT . '../../lib/some_class.php');//rest of the code
现在, 无论你移到哪个目录, 如移到一个外网的服务器上, 代码无须更改便可正确运行。
2. 不要直接使用 require, include, include_once, required_once
可以在脚本头部引入多个文件, 像类库, 工具文件和助手函数等, 如:
require_once('lib/Database.php');require_once('lib/Mail.php');require_once('helpers/utitlity_functions.php');
这种用法相当原始. 应该更灵活点. 应编写个助手函数包含文件. 例如:
function load_class($class_name){//path to the class file$path = ROOT . '/lib/' . $class_name . '.php');require_once( $path );}load_class('Database');load_class('Mail');
有什么不一样吗? 该代码更具可读性.將来你可以按需扩展该函数, 如:
function load_class($class_name){//path to the class file$path = ROOT . '/lib/' . $class_name . '.php');if(file_exists($path)){require_once( $path );}}
还可做得更多:
为同样文件查找多个目录,能很容易的改变放置类文件的目录, 无须在代码各处一一修改,可使用类似的函数加载文件, 如html内容。
3. 为应用保留调试代码
在开发环境中, 我们打印数据库查询语句, 转存有问题的变量值, 而一旦问题解决, 我们注释或删除它们. 然而更好的做法是保留调试代码.
在开发环境中, 你可以:
define('ENVIRONMENT' , 'development');if(! $db->query( $query ){if(ENVIRONMENT == 'development'){echo "$query failed";}else{echo "Database error. Please contact administrator";}}
在服务器中, 你可以:
define('ENVIRONMENT' , 'production');if(! $db->query( $query ){if(ENVIRONMENT == 'development'){echo "$query failed";}else{echo "Database error. Please contact administrator";}}
推荐教程:PHP视频教程
以上就是PHP如何保证代码质量的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的PHP如何保证代码质量全部内容,希望文章能够帮你解决PHP如何保证代码质量所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。