當前位置:才華齋>計算機>php語言>

高質量PHP程式碼的50個實用技巧必備

php語言 閱讀(1.4W)

文章主要為大家分享了50個高質量PHP程式碼的實用技巧,大家必備的php實用程式碼,感興趣的小夥伴們可以參考一下。就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!

高質量PHP程式碼的50個實用技巧必備

  1.不要使用相對路徑

常常會看到:

?

1

require_once('../../lib/some_');

該方法有很多缺點: 它首先查詢指定的php包含路徑, 然後查詢當前目錄。因此會檢查過多路徑。如果該指令碼被另一目錄的指令碼包含, 它的基本目錄變成了另一指令碼所在的目錄.

另一問題, 當定時任務執行該指令碼, 它的上級目錄可能就不是工作目錄了。因此最佳選擇是使用絕對路徑:

?

1

2

3

4

view sourceprint?

define('ROOT' , '/var/www/project/');

require_once(ROOT . '../../lib/some_');

//rest of the code

我們定義了一個絕對路徑, 值被寫死了. 我們還可以改進它. 路徑 /var/www/project 也可能會改變, 那麼我們每次都要改變它嗎? 不是的, 我們可以使用__FILE__常量, 如:

?

1

2

3

4

5

//suppose your script is /var/www/project/

//Then __FILE__ will always have that full path.

define('ROOT' , pathinfo(__FILE__, PATHINFO_DIRNAME));

require_once(ROOT . '../../lib/some_');

//rest of the code

現在, 無論你移到哪個目錄, 如移到一個外網的服務器上, 程式碼無須更改便可正確執行.

  2. 不要直接使用 require, include, include_once, required_once

可以在指令碼頭部引入多個檔案, 像類庫, 工具檔案和助手函式等, 如:

?

1

2

3

require_once('lib/');

require_once('lib/');

require_once('helpers/utitlity_');

這種用法相當原始. 應該更靈活點. 應編寫個助手函式包含檔案. 例如:

?

1

2

3

4

5

6

7

8

function load_class($class_name)

{

//path to the class file

$path = ROOT . '/lib/' . $class_name . '');

require_once( $path );

}

load_class('Database');

load_class('Mail');

有什麼不一樣嗎? 該程式碼更具可讀性。將來你可以按需擴充套件該函式, 如:

?

1

2

3

4

5

6

7

8

9

function load_class($class_name)

{

//path to the class file

$path = ROOT . '/lib/' . $class_name . '');

if(file_exists($path))

{

require_once( $path );

}

}