Denetleyici tabanlı sınıf yükleme iyi mi?

1 Cevap php

Eğer CodeIgniter veya KohanaPHP gibi çerçeveler ile çalıştı varsa, o zaman muhtemelen onlar inşa olduğunu gördük böylece controller loads everything. Eğer bir kütüphane ve ek kaynak yüklemek istiyorsanız nedenle, denetleyici örneğinin bir kopyasını almak ve daha sonra ek derslere yüklemek için bu kullanmanız gerekir.

$this->c = get_instance();
$this->c->load->library('other_lib');

Eğer denetleyici örneği bağlı olmak gerekmez, böylece başka bir kitaplığa sınıf yükleme boşaltması için kötü olacak eğer ben wonding ediyorum. Örneğin,

$this->other_lib = load::library('other_lib');
//vs
$this->load->library('other_lib');

Ben burada herhangi bir MVC müdürlerinin ihlal muyum? Ben modellerden kaynaklar yükleniyor kötü olduğunu biliyorum - ama ne denetleyicisi dahil değildir diğer kütüphane paketleri hakkında?

1 Cevap

Ek kaynaklara erişmek için gereken bir kütüphane geliştirilmesi iseniz, sonra da kitaplığınızın bağımlılıklar gibi bu kaynakları ekleyin. Bu, kütüphaneden bir sınıfa ihtiyacımız olduğunda yapıcısı aracılığıyla oluşturulduğunda, gerekli kaynağı geçmek anlamına gelir.

Örneğin:

class MyLib {
    public function __construct(DB $db) {
        $this->db = $db;
    }
}