如何在Zend Framework 2中配置依赖注入? - php

免责声明:我是Zend的完全菜鸟。

我正在评估Zend Framework 2的工作状况,并尝试将其配置为与ZfTwig一起使用以进行模板制作。 (请参见此处:https://github.com/mtymek/ZfTwig)

我通过了配置的Step 3,但是我不知道Step 4

我尝试将以下内容放在application.config中,但效果不好。

我该放在哪里?

return array(
    'di' => array(
        'instance' => array(
            // setup other stuff...
            // ...

            // setup view script resolvers - very similar to configuration
            // from ZendSkeletonApplication
            'Zend\View\Resolver\AggregateResolver' => array(
                'injections' => array(
                    'Zend\View\Resolver\TemplateMapResolver',
                    'ZfTwig\TemplatePathStack',
                ),
            ),
            'Zend\View\Resolver\TemplateMapResolver' => array(
                'parameters' => array(
                    'map'  => array(
                        'layout/layout' => __DIR__ . '/../view/layout/layout.twig',
                    ),
                ),
            ),
            'ZfTwig\TemplatePathStack' => array(
                'parameters' => array(
                    'paths'  => array(
                        'application' => __DIR__ . '/../view',
                    ),
                ),
            ),
            // Tell TwigRenderer how it should locate .twig files
            'ZfTwig\TwigRenderer' => array(
                'parameters' => array(
                    'resolver' => 'Zend\View\Resolver\AggregateResolver',
                ),
            ),
        ),
    );

Google无济于事...在Zend的网站上或任何告诉我应该去哪里的地方,都找不到任何文档。

谢谢您的帮助!

参考方案

di配置来自Zend Framework 2的第一个beta。Zend\Di是仍可用的组件,但在内部(与许多其他模块一样)由Zend\ServiceManager代替。

基本上,两者都可以提供依赖项注入。仅对于Zend\Di,它可以自动执行这种操作;对于Zend\ServiceManager,还有其他选项可以使依赖项注入更加明确。

给出问题的答案:ZfcTwig现在是ZF-Commons的一部分,https://github.com/ZF-Commons/ZfcTwig是您现在必须搜索的位置。仅出于您的见解,this file是服务经理使用的工厂的示例。对于两个月前的Zend Framework 2 I have written a blog post中服务管理器的更多背景,这可能很有趣。

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

php getdate()-小时不正确 - php

我在iframe中将php用于计数器。我正在使用getdate();功能。我的当地时间不是下午12:16,如果我使用getdate();从php获取现在的本地时间,小时显示为13。我从php getdate()回答的值应该不是12吗?$d1=getdate(); $hournew=$d1['hours']; echo $hournew .…

php:是否有充分的理由引用所有数组键/索引? - php

我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…

视图助手中的Zend重定向 - php

嗨,我有以下脚本可在视图帮助器中重定向<?php class Application_View_Helper_ExistUserRev extends Zend_View_Helper_Abstract{ public function existUserRev($params,$user) { $businessReviewMapper = new …