我在Zend项目中创建了services文件夹,并在该文件夹中创建了新的php文件。我的文件夹结构就在那里。
<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文件。但是我可以使用Application_Service_SoapClient
或Application_Services_SoapClient
类名来使用SoapClient.php文件。
始终显示以下消息。
Fatal error: Class 'Application_Services_SoapClient' not found in /home/dinuka/workspace/testzend/application/controllers/IndexController.php on line 13
请帮帮我。我应该在SoapClient.php中使用哪个类?
答案 0 :(得分: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',
),
));