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怎样保证代码质量的细致内容,更多请关注ki4网别的相干文章!