2011-11-30 39 views
2

我在我的Zend項目中創建服務文件夾,並在該文件夾中創建新的php文件。我的文件夾結構在那裏。在zend服務文件夾中找不到類

<project name>/ 
    application/ 
     configs/ 
      application.ini 
     controllers/  
      IndexController.php  
     models/ 
      Test.php   
     services/ 
      SoapClient.php 
     views/     
      helpers/ 
      scripts/ 
     Bootstrap.php  
    docs/ 
    library/ 
    public/   
     .htaccess 
     index.php  
    tests/ 

我可以使用使用Application_Model_Test類test.php的文件。但是我可以使用SoapClient.php文件,使用Application_Service_SoapClientApplication_Services_SoapClient類名。

總是顯示以下信息。

Fatal error: Class 'Application_Services_SoapClient' not found in /home/dinuka/workspace/testzend/application/controllers/IndexController.php on line 13 

請幫幫我。我應該在SoapClient.php中使用什麼類?

回答

1

路徑是正確的,但類應該命名爲Application_Service_SoapClient

服務是自動映射的模塊資源類之一。

爲了讓它工作,只需將該類重命名爲Application_Service_SoapClient並更新所有對該類的引用(如果有的話)。文件名稱很好。

這是默認的映射爲1.11.11:

$this->addResourceTypes(array(
     'dbtable' => array(
      'namespace' => 'Model_DbTable', 
      'path'  => 'models/DbTable', 
     ), 
     'mappers' => array(
      'namespace' => 'Model_Mapper', 
      'path'  => 'models/mappers', 
     ), 
     'form' => array(
      'namespace' => 'Form', 
      'path'  => 'forms', 
     ), 
     'model' => array(
      'namespace' => 'Model', 
      'path'  => 'models', 
     ), 
     'plugin' => array(
      'namespace' => 'Plugin', 
      'path'  => 'plugins', 
     ), 
     'service' => array(
      'namespace' => 'Service', 
      'path'  => 'services', 
     ), 
     'viewhelper' => array(
      'namespace' => 'View_Helper', 
      'path'  => 'views/helpers', 
     ), 
     'viewfilter' => array(
      'namespace' => 'View_Filter', 
      'path'  => 'views/filters', 
     ), 
    )); 
+0

想象。這是工作。我暫時使用了Application_Service_SoapClient。 –