başında Require_once veya ne zaman gerçekten gerekli?

2 Cevap php

Nerede require_once ifadeleri, ve neden koymak gerekir?

  1. Always on the beginning of a file, before the class,
  2. In the actual method when the file is really needed
  3. Duruma göre değişir
  4. ?

Most frameworks put includes at the beginning and do not care if the file is really needed.
Using autoloader is the other case here.

Edit:

Surely, we all agree, that the autoloader is the way to go. But that is the 'other case' I was not asking here. (BTW, Zend Framework Application uses autoloader, and the files are still hard-required, and placed at the beginning).

Ben sadece bilmek istedim, neden programcılar büyük olasılıkla hiç kullanılmayacak bile dosyanın başında gerekli dosyaları dahil mi (örneğin Exception files).

2 Cevap

Ben 3 söyleyebilirim. Duruma göre değişir. Eğer kodu bir sürü uğraşıyoruz eğer kod yükleme yapmak için zaman ayırın ve bellek yiyiyor gibi, bu, sadece istek üzerine dahil dosyası yüklenirken değer olabilir. Eğer bağımlılıkları var özellikle Öte yandan, bu, çok zor bakım yapar. Eğer yük "talep üzerine" varsa, size modül yüklenecek ne takip edebilirsiniz böylece bir sarıcı işlevi kullanmak isteyebilirsiniz.

Ben autoloader mekanizması gerçekten gitmek için yol olduğunu düşünüyorum - tabii, uygulamanın tasarımı bu işe için ağır nesne yönelimli olması gerekir.

Autoloading sadece gerekli olanı yüklemek gibi, çok daha iyi bir uygulamadır. Açıkçası, aynı zamanda __autoload fonksiyonunu tanımlar dosyasını dahil etmek gerekir, bu nedenle bazı bir yere sahip olacak.

Ben genellikle daha sonra __autoload tanımlar ve tüm (örneğin fonksiyon kütüphaneleri gibi, yapılandırma dosyaları, vb) olmayan sınıf dosyalarını içeren "includes.php" adında tek bir dosya var. Bu dosya her sayfanın başında yüklenir.