Ben Zend_Application ile kurulum benim uygulama var. Benim bootstrap.php wich bir _initAutoload()
yöntem bu gibi görünüyor var:
public function _initAutoload(){
$this->bootstrap("frontController");
$front = $this->frontController;
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('Client_');
$autoloader->registerNamespace('Frontend_');
$autoloader->registerNamespace('Global_');
$autoloader->registerNamespace('Global_Helper_');
$autoloader->setFallbackAutoloader(true);
$modules = $front->getControllerDirectory();
$default = $front->getDefaultModule();
foreach (array_keys($modules) as $module) {
if ($module === $default) {
continue;
}
$autoloader->pushAutoloader(new Zend_Application_Module_Autoloader(array(
"namespace" => ucwords($module),
"basePath" => $front->getModuleDirectory($module),
)));
}
return $autoloader;
}
Ben default modülü de (bana daha mantıklı görünüyor) $front->setParam("prefixDefaultModule", true)
öneki kurulum FrontController var
Ben her zamanki dizin yapısı var.
The problem:
Ben var her modül için alt etki alanlarını kurdum. Herşey fine ana main alanı (www) çalışır. Ana modül frontend. Önyüz Varsayılan modül ise şeyler :) çalışır. Tamam. Şimdi. Her alt alan adı için, ben aynı index.php var ama gidecekseniz env değerini değiştirdi. client, env değeri alt etki alanı için client vb env değeri olan her zaman application.xml bölümüne karşılık gelir. Her Application.xml subdomain bölüm (istemci, api, vb) defaults (şu anda öyle her alt alan test ve test varsayılan extends, vb hataları sağlayan da bir test bölümü gidecekseniz) denir ana bölümü uzatmak.
Application.xml ve Each subdomain bölümü default modül adını değiştirir. Bölüm varsayılan için önyüz, bölüm istemci kendi müşteri için, vs Yani
Now
When I access domain.com/client or domain.com/api - its fine. Both API & Client use Client_Model_NameOfTheModel and like it supposed to - it's located application/modules/client/models/NameOfTheModel.php and the DbTable/NameOfTheModel.php
WORKS
BUT When I access the the module from its respective subdomain (client.domain.com, api.domain.com, etc) and the default module has been changed from frontend to its respective subdomain module name - it ends working. It even doesn't output that "stack trace".
Uyarı: on line [iste-benim-yolu-to-root] / library / Zend / Loader.php böyle bir dosya ya da dizin yok: failed to open stream: (Client / Model / ContactLists.php) [function.include] içerir 136
Warning: include () [function.include]: eklenmek üzere 'Müşteri / Model / ContactLists.php' (include_pathdaki = '[iste-my-yolu-to-root] / kütüphane açma başarısız:. :/ Usr / lib / php :/ satırda [iste-benim-yolu-to-root] / library / Zend / Loader.php usr / local / lib / php ') 136
Ölümcül hata: Sınıf 'Client_Model_ContactLists' satırında 4 [iste-benim-yolu-to-root] / application / modules / client / kontrolörleri / ContactListsController.php bulunamadı
Ben bu çalışma almak için 2 gün denedim. Bu sadece değil. Sadece varsayılan etki altında çalışır ve Application.xml onun alt alan adı için varsayılan modülü değiştirir değil zaman. Bunun gibi. Ben devam edemiyor ve bu uygulamayı bu hafta sonuna kadar (erken beta) sandbox dışında olması gerekir, çünkü bu nokta şu anda çok çok önemlidir.
Thanks for anyone for some advice.
PS. Sorry for the poor English. It isn't my native tongue