Otomatik yük fonksiyonu / sınıf kütüphaneleri gerekli

1 Cevap php

İlk olarak, biraz arka plan. Çalıştığım şirket her sayfasında yer alan bir massive function / sınıf kitaplığı kullanır. Fonksiyonların hatları binlerce ve binlerce,% 90 olasılıkla bile bir sayfada denilen olmayacak.

Sunucu yük biraz hafifletmek amacıyla, ben akıllı kütüphane kurulumları deneme oldum. Bu amaçla, ben kategorize kütüphane dosyalarının içine tüm dosya bölünmüş ettik (yani sql.functions.php, date.functions.php, ve diğerleri.)

Ne yazık ki, her sayfada her tek dosya da dahil olmak üzere hiç yardımcı olmuyor ve seçici dosyaları da dahil olmak üzere neredeyse imkansız ve çok hata eğilimli.

Ne arıyorum otomatik olarak bulmak amacıyla bilinmeyen Sınıf başlatılır durumda özel olarak adlandırılmış dosyaları arar PHP'nin ___autoload() fonksiyonu, benzer bir kurulum.

<?php
  function ___autoload($class_name) {
    require_once($class_name.'.class.php');
  }
?>

Ancak, bu fonksiyon işlev çağrıları, yalnızca sınıflar üzerinde çalışmaz.

Otomatik olarak aramak için, tanımsız bir fonksiyonu (yani html_insert_button();) arama ve adlı bir fonksiyon kütüphanesi dahil ettiğimizde, PHP talimat için bir yolu var mı?

(Bu işlevin öneki paylaşan beri Yukarıdaki durumda, html_functions.php, yüklü olması gerekir)

1 Cevap

Ben ne yazık ki autoload fonksiyonları için bir yol olduğuna inanmıyorum. Bazı çocuklar SitePoint forums Bu konuda savundu.

Ben biri için bu inlcudes miktarını azaltmaya izin verir, çünkü müthiş bir ilave olacağını düşünüyorum.

Ben CodeIgniter en çok benzer benim işlevleri, yükleme için bu yaklaşım aldı:

Ben bir dizi fonksiyon kullanmak gitmek zaman, ben bir kitaplık (o sadece bir kez içerir emin) kullanmak üzereyim kütüphane içerecektir ("html") işlevi çağırır.

function library($name)
{
    include($name .".lib.php");
}

Muhtemelen sizin için arıyoruz ama cevap bu ben bunu nasıl değildir.