我无法从Zend Framework中开发的API中看到全局变量,我对此感到困惑。
文件系统是这样的:
Project
Site
prepend.php (no namespace)
(many folders of the site) ...
api
index.php
module
usersApi
module.php (namespace UsersApi)
src
usersApi
controller
AbstractRestfulJsonController.php (n: UsersApi\Controller)
usersController.php (n: UsersApi\Controller)
core
config
config.php
config.xml
Apache配置为执行prepend文件,目的是加载config.php文件,该文件加载config.xml,这意味着在执行每个请求之前,它总是加载所有配置,然后从core_framework_config检索:: getConfig() - > {{键}}
问题在于我能够在Web服务中随处获得配置。事实上,api文件夹中的index.php可以访问core_framework_config及其所有变量,但是当我输入命名空间文件(例如userController)时,我在类内外都会执行错误,但总是在命名空间文件中。错误是UsersApi \ Controller \ core_framework_config方法不存在。任何人都可以帮助我吗?
UsersController.php:
namespace UsersApi\Controller;
use UsersApi\Controller\AbstractRestfulController;
use Zend\View\Model\JsonModel;
class UsersController extends AbstractRestfulJsonController
{
public function get($id) { // Action used for GET requests with resource Id
// I MUST RELOAD THE CONFIG FILE BECAUSE I CANNOT ACCESS TO CONFIGURED FILE
$items_per_page = core_framework_config::getConfig()->items_per_page; // this fails with the error mentioned before
}
}
答案 0 :(得分:0)
我通过在beggining:\ core_framework_config
添加斜杠来修复它