一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

很讓人受教的 提高php代碼質(zhì)量36計(jì)

1.不要使用相對(duì)路徑
常常會(huì)看到:
require_once('../../lib/some_class.php');
該方法有很多缺點(diǎn):
它首先查找指定的php包含路徑, 然后查找當(dāng)前目錄.
因此會(huì)檢查過多路徑.
如果該腳本被另一目錄的腳本包含, 它的基本目錄變成了另一腳本所在的目錄.
另一問題, 當(dāng)定時(shí)任務(wù)運(yùn)行該腳本, 它的上級(jí)目錄可能就不是工作目錄了.
因此最佳選擇是使用絕對(duì)路徑:
define('ROOT' , '/var/www/project/');
require_once(ROOT . '../../lib/some_class.php');
//rest of the code
我們定義了一個(gè)絕對(duì)路徑, 值被寫死了. 我們還可以改進(jìn)它. 路徑 /var/www/project 也可能會(huì)改變, 那么我們每次都要改變它嗎? 不是的, 我們可以使用__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
現(xiàn)在, 無論你移到哪個(gè)目錄, 如移到一個(gè)外網(wǎng)的服務(wù)器上, 代碼無須更改便可正確運(yùn)行.
2. 不要直接使用 require, include, include_once, required_once
可以在腳本頭部引入多個(gè)文件, 像類庫, 工具文件和助手函數(shù)等, 如:
require_once('lib/Database.php');
require_once('lib/Mail.php');
require_once('helpers/utitlity_functions.php');
這種用法相當(dāng)原始. 應(yīng)該更靈活點(diǎn). 應(yīng)編寫個(gè)助手函數(shù)包含文件. 例如:
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');
有什么不一樣嗎? 該代碼更具可讀性.
主站蜘蛛池模板: 亚洲欧美成人影院 | 欧美成人v视频免费看 | 国产精品免费视频播放 | 久综合网 | 成人福利在线观看 | 亚洲国产网 | 亚洲乱码一二三四区国产 | 91精品视频网 | 99久久99久久精品国产 | 国产精品路线1路线2路线 | 国产精品青青青高清在线密亚 | 久久久网久久久久合久久久久 | 中文字幕无限乱码不卡2021 | 国产成人麻豆精品video | 欧美日韩中文国产va另类 | 久久www免费人成精品 | 中文字幕日韩欧美一区二区三区 | 在线视频成人 | 性色aⅴ在线观看swag | 黄色小视频在线播放 | 好属妞这里只有精品久久 | 国产精选在线播放 | 色噜噜狠狠一区二区三区 | 亚洲涩网| 六月婷婷在线 | 亚洲伊人久久大香线蕉在观 | 亚洲女人性视频 | 久久九九国产精品怡红院 | 国产成人精品亚洲午夜麻豆 | 国内精品视频免费观看 | 亚洲大色堂| 欧美午夜性刺激在线观看免费 | 加勒比色久综合在线 | 欧美性xxxx人妖 | 一区二区三区四区在线免费观看 | 国产精品午夜高清在线观看 | 色多多www| 国产免费成人在线视频 | 激情婷婷成人亚洲综合 | 555夜色666夜色精品站 | 成人xx视频 |