對初學者非常有用的PHP技巧

來源:文萃谷 3.13W

文章主要為大家詳細介紹了10個對初學者非常有用的PHP技巧,這些PHP技巧適用於初學者,而不是那些已經在使用MVC框架的人,感興趣的小夥伴們可以參考一下。

對初學者非常有用的PHP技巧

本文介紹一些關於改善和優化PHP代碼的提示和技巧,供大家參考,具體內容如下

  1.不要使用相對路徑,要定義一個根路徑

這樣的代碼行很常見:

?

1

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

這種方法有很多缺點:

1)、它首先搜索php包括路徑中的指定目錄,然後查看當前目錄。因此,會檢查許多目錄。

2)、當一個腳本被包含在另一個腳本的不同目錄中時,它的基本目錄變為包含腳本的目錄。

3)、另一個問題是,當一個腳本從cron運行時,它可能不會將它的父目錄作為工作目錄。

所以使用絕對路徑便成為了一個好方法:

?

1

2

3

4

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

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

//rest of the code

這就是一個絕對路徑,並且會一直保持不變。但是,我們可以進一步改善。目錄/var/www/project可以變,那麼我們每次都要改嗎?

不,使用魔術常量如__FILE__可以讓它變得可移植。請仔細看:

?

1

2

3

4

5

6

7

//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,包括require_once或include_once

你的腳本上可能會包括各種文件,如類庫,實用程序文件和輔助函數等,就像這些:

?

1

2

3

4

require_once('lib/');

require_once('lib/');

require_once('helpers/utitlity_');

這相當粗糙。代碼需要更加靈活。寫好輔助函數可以更容易地包含東西。舉個例子:

?

1

2

3

4

5

6

7

8

9

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

10

function load_class($class_name)

{

//path to the class file

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

if(file_exists($path))

{

require_once( $path );

}

}

這樣做可以完成很多事情:

為同一個類文件搜索多個目錄。

輕鬆更改包含類文件的目錄,而不破壞任何地方的代碼。

使用類似的函數用於加載包含輔助函數、HTML內容等的文件。

3.在應用程序中維護調試環境

在開發過程中,我們echo數據庫查詢,轉儲創造問題的變量,然後一旦問題被解決,我們註釋它們或刪除它們。但讓一切留在原地可提供長效幫助。

在開發計算機上,你可以這樣做:

?

1

2

熱門標籤