grafitus adlı üyeden alıntı: mesajı görüntüle
Güzel öneriler, de 6. madde biraz sıkıntılı gibi. Açıklık getirmek gerek oraya. Hem 3. madde de PHP'nin kendi fonksiyonları hızlıdır demişsiniz hem de 6. madde dekiler hantaldır demişsiniz. Bu paradoks biraz kelime oyunuydu. Asıl soruma geçeyim, yalnış anlamayın doğrusunu öğrenmek istediğimden soruyorum. Bunlar hantal ise, kullanmayacaksak, projelerimizi tek dosyada tutmak mı adam gibi tasarlamaklamaktır? Yoksa dosyayı okuyup eval()'den mi geçirmek daha iyidir?

Eğer bahsettiğiniz hantallık '_once'lerden dolayıysa Singleton Pattern mantığıyla çalışan şöyle bir fonksiyonla işimiz görülecek midir?
function load_once($file, $method = 'require')
{
    static $loaded_files = array();
    if (!empty($loaded_files[$file]))
        return;
    if ($method == 'require')
        require($file);
    else
        include($file);
    $loaded_files[$file] = true;
}
Teşekkürler.
Soyle daha acik ifade edeyim;

PHP'nin built-in fonksiyonlari sizin tasarladiginiz fonksiyonlardan daha hizlidir. PHP'nin kendi fonksiyonlari arasinda ise include ve require herzaman icin include_once ve require_once versiyonlarindan daha hizlidir.

Sizin yazdiginiz fonksiyonda hos, fakat hafizada bosuna yer tutacaktir ve yine include ve require'dan daha yavas olacaktir.

Benim tavsiyem scriptinizda dosya dizin yapinizi duzgun tutmaniz, nerde hangi senaryoda neyi include ettiginizi bilip tekrar include etmemeniz. include_once pek umursamayip onceki kodda ne oldugunu bilmeden direk yazip gecmeyi sectiniz zamanlarda kullanilmak icin varolan bir fonksiyon. Projenizi bastan iyi tasarlarsaniz, ihtiyaciniz olmayacaktir.

Dosyayi okuyup eval ile calistirma olayina gelincede, oyle bir teknigin yanindan bile gecmeyin derim : ]