欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php class require

宋博文1年前7瀏覽0評論

PHP Class Require – PHP類文件的引入

在開發基于 PHP 的大型應用程序時,調用類文件是非常常見的操作。PHP中,我們使用require或者include命令來實現代碼的引用,正常情況下,這些語句可以幫助我們在當前文件或腳本中調用其他的文件。當我們遇到一個包含多個文件的項目時,這些命令可能不夠用,我們需要一些更加靈活的工具來管理PHP應用程序中的類文件。

以一個名稱為Simple ORM的php應用為例。它包含了許多PHP類,ORM數據庫操作,控制器,視圖模板以及其他文件。我們不可能在每個模塊中的php文件中都引用這些類文件!所以,我們需要使用一個更加強大的平臺,在應用啟動時將這些類文件全部載入到內存中。

那么,如何實現這種效果呢?

在此處,我們可以借助 PHP 標準庫的 spl_autoload 注冊機。當需要載入一個類時,spl_autoload 函數會自動掃描當前目錄以及后臺目錄,執行尋找指定的類文件,以載入相應的 PHP 類定義文件。

下面是一個具體的范例,供大家參考:

function __autoload($className){
require_once('classes/' . $className . '.php');
}
$user=new User;

在上面的例子中,我們創建了一個自動加載函數__autoload,當new User被執行的時候,__autoload會被調用,用戶類文件User.php將被載入到程序中。

在 PHP 5.1之后,__autoload已經被廢棄,spl_autoload_register代替了它,這個函數可以允許你使用多個自動加載器,它們會在上一個autoload函數無法載入文件時依次執行。

function myAutoload($className){
foreach(array('classes', 'models' ) as $dir){
if (file_exists($dir . '/' . $className . '.php')){
require_once($dir . '/' . $className . '.php');
return;
}
}
}
spl_autoload_register('myAutoload');
$user=new user();

這里,我們寫了一個自動加載器 myAutoload。當spl_autoload_register被調用時,myAutoload函數會被注冊到棧中。每當程序需要載入一個類文件的時候,spl_autoload_register就會在棧中找到一個匹配的函數來執行。這樣就可以避免代碼冗余了。

總之,借助于 PHP auto load,我們可以實現松散耦合的代碼結構,保證代碼健壯性、可讀性、可擴展性等優良特性。