Zend Framework 2:无法访问命名空间文件中的全局变量

时间:2016-02-26 19:00:46

标签: php zend-framework namespaces zend-framework2

我无法从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
    }
}

1 个答案:

答案 0 :(得分:0)

我通过在beggining:\ core_framework_config

添加斜杠来修复它