İşte benim önyükleme yükleyicisi bir örnek:
if (!defined('APPLICATION_PATH')) {
define('APPLICATION_PATH', realpath(getcwd() . '/../application'));
}
/**
* Add the APPLICATION_PATH and the library dir to the include_path
*/
set_include_path(get_include_path() . PATH_SEPARATOR . APPLICATION_PATH . PATH_SEPARATOR . realpath(APPLICATION_PATH . '/../library'));
/**
* Load the file loader to setup the class autoloader
*/
include_once 'Loader.php';
if (!class_exists('Loader')) {
die('Could not load class loader.');
}
spl_autoload_register('Loader::autoload');
Şahsen ikinci yolu ile gitmek istiyorum. Ben include_path sevmeyi öğrendim: Orada dizinleri çok bakarak bazı performans isabet muhtemelen ama önemli olacağını sanmıyorum. Ayrıca yol sabiti eklemek unutmadan hataları önler.
Bir yan not /application/
vb benim kontrolörleri, koymak, ve /library/
bazı kütüphaneler var. Bu, tüm web kök yukarıda gider. Tamamen size belge kök altında her şey var, aksi takdirde karşı önlem almak zorunda bu dosyaları, erişmesini engeller. Ev sahibi bu destekliyorsa (paylaşılan bazı ana yok) yararlanmak!
Update
Yüksek yük uygulaması durumunda bu ikinci yöntem ile gitmek iyidir?
Eğer ne var bir göz tutmak olsaydı bence include_path
(: SQL Server, Ruby vb örneğin, benim Windows dev makinede ben gerekmez orada her türlü var) ve olan ikinci yöntem iyi olurdu o zaman gerekli değildir hiçbir şey şerit.
Yapabileceğiniz başka bir şey php.ini dosyasının içine komut ve sabit kod bunun sonunda include_path
dökümü olduğunu.
Gerçekten de. Ben bu sistem performansında bir darboğaz olacak sanmıyorum. Sizin için daha kolay olanı kullanın.
Eğer çalıştırdığınız bir sitede performans sorunları var ya mı bu ihtiyati şeyler olduğunu? Ben ciddiye preoptimise isterdim neden görmek (Ben bunu yaparken kendimi durdurmak zorunda) ama olabilir. Onlar ortaya çıktığında bu sorunları ile uğraşmak. Eğer onunla bir anlaşma popüler site olan şanslı bir konumda olduğunuzda. Birkaç require
s değiştirmeniz gerekirse günün sonunda, bu bir kabus değil.