2016-04-07 23 views
0

Php adlarını ve otomatik yüklemeyi kullanıyorum. Her sayfanın en üstünde sonucunda ben bu satırları yazma: Web sitesinin kök olduğumdaPHP ad alanı, alt dizinlerde çalışmıyor

require_once('autoload.php'); // this file is in the root directory 
use Lib\Blogs; 
use Lib\Clients; 

Her şey yukarıdaki hatları ile gayet iyi.

require_once('../autoload.php'); // this file is in the root directory 
use Lib\Blogs; 
use Lib\Clients; 

ve bu hatadır:

Ben buna hatları üzerinde değiştirin:

Fatal error: Class 'Lib\Blogs' not found in C:\website\ajax\ajaxBlog.php on line 10 

ve alt dizinleri olduğumda Ama bunların hiçbirini için erişemez

if (!empty(Blogs::findByEmail($email))) { ... } 

cevap

0

Yani takma ad veya yazma fu ile sınıflarını kullanmak zorunda: hat 10'da, ben statik yöntem dediğimiz bu kodu var Aradığın zaman yolu.

use Lib\Blogs as Blogs; 
... 
if (!empty(Blogs::findByEmail($email))) { ... } 

veya

if (!empty(Lib\Blogs::findByEmail($email))) { ... } 
+0

Yine aynı ölümcül hata – MoHo

+0

Hala autoload.php dosyasını mi istiyorsunuz ?? – MoHo

+0

Tabii ki her sayfada bir autolodere ihtiyacınız var. Aksi takdirde, tüm sınıf dosyalarını elle eklemeniz gerekir. Sizin durumunuzda autoloader dosyasını mutlak yolla eklemelisiniz. Ancak projenizde MVC deseni kullanırsanız daha iyi olacaktır. Bu durumda index.php'de sadece bir kez autoloader var –