2012-04-23 123 views
1

我想自動加載應用程序/ forms/*。php(在這種情況下,LoginForm.php)下我的項目中找到的窗體。Zend自動加載器

如何配置Zends自動加載器自動加載此表單?由於我不想使用醜陋的命名空間,因此我在啓動時啓用了回退功能。我沒有任何與我的application.ini中配置的窗體有關的任何東西

謝謝!

+4

http://framework.zend.com/manual/en/zend .loader.autoloader-resource.html – 2012-04-23 15:15:27

+0

@AlisterBulman噢,沒有發現,通過谷歌..,沒有不回答我的問題。 – 2012-04-23 15:29:49

+2

提供更多的細節,你喜歡什麼樣的命名空間。任何事情都可以配置。默認情況下,您應該可以通過命名類[[Appnamespace_] Form_LoginForm]來訪問該表單。你可以在application.ini中配置Appnamespace – Weltschmerz 2012-04-23 16:16:59

回答

0

默認自動裝載機將爲您加載。請確保你已經檢查以下內容: -

  1. 您的文件應用/表格/ Loginform.php
  2. 該文件包含這樣的事情: -

    class Application_Form_Loginform extends Zend_Form 
    { 
        //Take special note of the capitalisation - it is important 
        // Also note it is Form NOT Forms 
        public function init() 
        { 
         //Your code here 
        } 
    } 
    
  3. 調用你的類象這一點: -

    $form = new Application_Form_Loginform(); 
    

採取前關注信件情況下,重要的是你得到它是完全正確的或自動裝載機不會找到你的課程,並會抱怨。

+0

我真的開始這樣做,儘管它最初不是我想要的。無論如何謝謝你的答案。 – 2012-05-07 23:13:25

+0

你習慣了命名約定。起初我並不太喜歡它,但它已經成長於我身上。 – vascowhite 2012-05-08 06:18:58

0

不確定這是否回答您的問題,因爲它有點含糊,但請嘗試以下操作。

在你的引導:

protected function _initAppAutoload() 
{ 
    $moduleLoad = new Zend_Application_Module_Autoloader(array(
     'namespace' => '', 
     'basePath' => APPLICATION_PATH 
    )); 
} 

顯然那麼Form_LoginForm()類將存在於應用程序/表格/ LoginForm.php