我想弄清楚Zend Framework如何自動加載功能。在zend框架中自動加載難題
問題:
1 - 說我要添加到我的應用程序/文件夾中的文件夾,名爲X /含一個名爲Foo.php類。當我從控制器執行新的Foo()時,如何讓它自動加載?那麼我應該如何命名Foo類? 「Foo」是否正常,還是應該使用名稱「Application_X_Foo」?
2 - 這是什麼故事與$ autoloader-> registerNamespace('My_')?我的意思是名稱空間My_中的類應該在哪裏生存?
感謝
1 - 好吧,但這樣我會有文件夾模型/填充類可能屬於不同的域。是否有可能有像application/models/mypackage/Foo.php這樣的子包? 2 - 就此第二種情況而言,全都清除 – nourdine 2012-03-13 11:07:25
只要您遵循正確的語法,就可以擁有所需的所有子目錄。你指定的是不正確的,你應該使用models/MyPackage/Foo.php而不是那個,並且這個類將被稱爲Application_Model_MyPackage_Foo。或者你可以使用模塊化結構,如果這是你所需要的:http://framework.zend.com/manual/en/zend.controller.modular.html – arraintxo 2012-03-13 11:53:36
哦是的,你是正確的!所以基本上我可以在模型中儘可能深入地創建模型,然後創建我想要的所有子包,然後以我定義的類名稱反映該結構。因此,例如模型/ A/B/C/D/Foo.php的類名稱爲Application_Model_A_B_C_D_Foo。太好了!我挖了一下,它看起來取決於這個http://framework.zend.com/manual/en/zend.loader.autoloader-resource.html#zend.loader.autoloader-resource.module – nourdine 2012-03-13 11:58:17