我有一個通用類,我希望通過其他類擴展它。在類文件夾外擴展另一個類的PHP類
我有我的目錄下建立文件夾和類文件這些文件夾,例如
類/用戶/ users.class.php 類/普通的內/ general.class.php
我有用戶類擴展了一般類,但由於它們在不同的文件夾中,我猜測一般類沒有找到。
類用戶一般的擴展{
}
是否有人可以幫我搞清楚了這一點。
我還要提到我使用autload功能
我有一個通用類,我希望通過其他類擴展它。在類文件夾外擴展另一個類的PHP類
我有我的目錄下建立文件夾和類文件這些文件夾,例如
類/用戶/ users.class.php 類/普通的內/ general.class.php
我有用戶類擴展了一般類,但由於它們在不同的文件夾中,我猜測一般類沒有找到。
類用戶一般的擴展{
}
是否有人可以幫我搞清楚了這一點。
我還要提到我使用autload功能
當你有沒有自動加載那麼之前包括類。
然後這個班是已知的,你可以使用它。
require_once(__DIR__.'/../general/general.class.php');
我有一個自動加載器正在運行。 – Yeak
您需要確保您加載了所需的類或任何其他類。例如:
在你的引導...:
// Set up the include path so that we can easily access the class files
set_include_path('/absolute/path/to/classes'. PATH_SEPARATOR . get_include_path());
require_once('users/users.class.php');
在users.class.php:
至於獲得的絕對路徑你的類文件夾,你會想根據您的引導位置進行配置。例如:
// bootstrap lives in $_SERVER['DOCUMENT_ROOT'] and classes is one level up outside the doc root
// this code is in the bootstrap...
$path = realpath(dirname(__FILE__).'/../classes');
set_include_path($path . PATH_SEPARATOR . get_include_path());
我絕對推薦使用'set_include_path'。 –
所以唯一的方法就是使用require? – Yeak
是的,在某些時候,你總是會做一個'require'。現在你可以(也可以推薦)創建或使用像[Symfony's](http://symfony.com/doc/current/components/class_loader.html)或[Zend's](http:// framework)這樣的現有自動加載組件。 zend.com/manual/en/zend.loader.autoloader.html),但內部它只是將類名映射到文件,然後需要它。 – prodigitalson
嘗試添加「include」../general/general.class.php';「 – alfasin
我想使用擴展的原因是在我的用戶類中使用$ this-> call來自通用 – Yeak
我不理解您的評論。爲了使用「普通」類,您需要加載文件。 – alfasin