Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在zend developer工具栏ZF2中激活BjyAuthorize时出现问题_Php_Zend Framework2_Developer Tools_User Roles_Bjyauthorize - Fatal编程技术网

Php 在zend developer工具栏ZF2中激活BjyAuthorize时出现问题

Php 在zend developer工具栏ZF2中激活BjyAuthorize时出现问题,php,zend-framework2,developer-tools,user-roles,bjyauthorize,Php,Zend Framework2,Developer Tools,User Roles,Bjyauthorize,有人能告诉我如何将用户角色放入我的zf2工具栏。 我无法从zend developer工具栏中可见的角色实体中获取用户角色。通常我自己解决问题,但在这种情况下,我没有想法。 我正在使用ZfcUser、BjyAuthorize和Doctrine2。 我找不到有关如何在工具栏上显示用户角色的任何说明。 我使用composer安装所有依赖项。我的composer文件如下所示: "require": { "php": ">=5.3.3", "zendframework/zendfr

有人能告诉我如何将用户角色放入我的zf2工具栏。

我无法从zend developer工具栏中可见的角色实体中获取用户角色。通常我自己解决问题,但在这种情况下,我没有想法。 我正在使用ZfcUser、BjyAuthorize和Doctrine2。 我找不到有关如何在工具栏上显示用户角色的任何说明。 我使用composer安装所有依赖项。我的composer文件如下所示:

"require": {
    "php": ">=5.3.3",
    "zendframework/zendframework": "2.*",
    "doctrine/common": ">=2.3-dev,<2.5-dev",
    "zf-commons/zfc-user": "0.*",
    "bjyoungblood/bjy-authorize": "1.2.*",
    "doctrine/doctrine-orm-module": "0.*",
    "zendframework/zftool": "dev-master",
    "zendframework/zend-developer-tools": "dev-master",
    "zf-commons/zfc-user-doctrine-orm": "dev-master",
    "bjyoungblood/bjy-profiler": "dev-master"
}
在我的config/autoload/module.zenddevelopertools.local.php中,我确实将探查器设置为enabled,并且它也已安装,但至少我使用composer.phar if检查了这一点

'profiler' => array(
    'enabled' => true,

    ...
),
如果有人能帮我就好了,
谢谢

我通过搜索错误消息找到了此线程
您必须安装或启用@bjyoungblood的Zend\Db Profiler才能使用此功能
,因为当我第一次安装ByjProfiler时,我无法让它在开发者工具栏中显示查询统计信息

自述文件和文档在工具栏中激活探查器的代码稍有不同,但经过一些尝试后,我让它工作了

在config/autoload/global.php中,我已经设置了以下内容:

return array(
    // ...
    'service_manager' => array(
        'factories' => array(
            'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
        ),
    ),
);
为了让ByjProfiler在ZDT工具栏中工作,我将其更改为:

return array(
    //...
    'service_manager' => array(
        'factories' => array(
            //'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
            'Zend\Db\Adapter\Adapter' => function($sm) {
                $config = $sm->get('Configuration');
                $modules = $sm->get('ModuleManager')->getLoadedModules();

                if (isset($modules['BjyProfiler'])) { // module is enabled in application.config.php
                    $adapter = new BjyProfiler\Db\Adapter\ProfilingAdapter($config['db']);
                    $adapter->setProfiler(new BjyProfiler\Db\Profiler\Profiler());
                    if (isset($config['db']['options']) && is_array($config['db']['options'])) {
                        $options = $config['db']['options'];
                    } else {
                        $options = array();
                    }
                    $adapter->injectProfilingStatementPrototype($options);
                } else {
                    $adapter = new Zend\Db\Adapter\Adapter($config['db']);
                }

                return $adapter;
            }
        ),
    ),
);
我从byj profiler/config/module.config.php派生了大部分代码,但对其进行了更改,以检查加载的模块是否处于活动状态。如果不是,则返回常规的Zend\Db\Adapter\Adapter,否则尝试使用应用程序配置中的Db设置配置BjyProfiler

希望有帮助


编辑:

为了进一步说明,让BjyProfiler默认工作的问题似乎与使用
Zend\Db\Adapter\Adapter
AdapterServiceFactory
有关

如果启用了BjyProfiler,但从服务管理器中删除了DB工厂,则探查器会自动工作,而无需额外的代码或配置,但如果从application.config.php中删除BjyProfiler,则我的DB连接会断开


如果我在服务管理器中启用了
AdapterServiceFactory
字符串并启用了BjyProfiler,它似乎覆盖了使用BjyProfiler作为DB适配器,因此无法在工具栏中运行探查器。

在application.config.php中,是否激活了BjyProfiler?BjyProfiler与显示的用户角色无关。重要的是在BjyAuthorize之前加载ZendDeveloperToolbar。应该没有一个单一的配置需要有角色显示在您的工具栏-一切最新的版本?我仍然面临上述问题,而且BjyProfiler是不工作,而我已经安装并启用此模块。请帮助我,我也遇到了同样的问题,你在Wilt解决了吗?没有,还没有解决。我从来没有得到过有用的回答。我已经停止使用BjyAuthorize,所以我不太可能很快会带来一些东西。如果我总是在StackOverflow上发布我的解决方案,那么如果我发现了什么,你可以稍后在这里阅读。如果你发现一些有用的东西,请把它贴在这里!
return array(
    //...
    'service_manager' => array(
        'factories' => array(
            //'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
            'Zend\Db\Adapter\Adapter' => function($sm) {
                $config = $sm->get('Configuration');
                $modules = $sm->get('ModuleManager')->getLoadedModules();

                if (isset($modules['BjyProfiler'])) { // module is enabled in application.config.php
                    $adapter = new BjyProfiler\Db\Adapter\ProfilingAdapter($config['db']);
                    $adapter->setProfiler(new BjyProfiler\Db\Profiler\Profiler());
                    if (isset($config['db']['options']) && is_array($config['db']['options'])) {
                        $options = $config['db']['options'];
                    } else {
                        $options = array();
                    }
                    $adapter->injectProfilingStatementPrototype($options);
                } else {
                    $adapter = new Zend\Db\Adapter\Adapter($config['db']);
                }

                return $adapter;
            }
        ),
    ),
);