我正在尝试注册一个自定义数据库翻译器加载器。
为此,我的灵感来自: Feeding Zend Translator
我在(module.config.php)中有以下工厂代码:
'service_manager' => array(
'factories' => array(
'translator' => function($sm){
$translator = new \V1\Service\DatabaseTranslationService();
return $translator->createService($sm);
},
),
),
Run Code Online (Sandbox Code Playgroud)
DatabaseTranslationService 看起来像这样:
$config = $serviceLocator->get('Config');
$trConfig = isset($config['translator']) ? $config['translator'] : array();
$translator = new \Zend\I18n\Translator\Translator();
$translator->getPluginManager()->setInvokableClass('database', '\Foo\I18n\Translator\Loader\DatabaseTranslator', true);
$translator->addTranslationFile('database', 'en_EN');
return $translator;
Run Code Online (Sandbox Code Playgroud)
但似乎没有使用“setInvokableClass”:我收到了这个错误:
Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for database
Run Code Online (Sandbox Code Playgroud)
有谁知道如何正确注册翻译器
我正在使用Zend Framework 2.
在我的布局文件中,我注入了一些像这样的javascript文件:
$this->InlineScript()
->appendFile($this->basePath() . '/js/myfile.js');
echo $this->InlineScript();
Run Code Online (Sandbox Code Playgroud)
现在我想从视图中注入一些javascript,以便它附加到InlineScript集合的末尾.
所以我在动作视图中写了这个:
<?php $this->InlineScript()->offsetSetFile(100,$this->basePath() . '/js/xyz.js'); ?>
Run Code Online (Sandbox Code Playgroud)
但结果是文件xyz首先在渲染视图中加载.
我正在使用Zend Framework 2.0.5
有人可以给我一个建议如何管理吗?
在尝试了这个解决方案后又向前迈了一步,我有另外一个关于mongodb的问题.
我的问题是:
我怎样才能对输出进行排序:
doc = {_id : 16, days : { 1 : 123, 2 : 129, 3 : 140, 4 : 56, 5 : 57, 6 : 69, 7 : 80 }};
db.so.insert(doc);
map = function() {
emit(this._id, this.days["1"]);
emit(this._id, this.days["3"]);
emit(this._id, this.days["7"]);
}
reduce = function (k, vals) {
var sum = 0;
vals.forEach(function (v) {sum += v;});
return sum;
}
res = db.so.mapReduce(map, reduce, {out : {inline : 1}});
res.find();
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
"results" : [
{ …Run Code Online (Sandbox Code Playgroud) 有关Zend框架2的问题.在我的应用程序中,我有一个模块可以处理我的整个应用程序.
为了进一步改进,我想开发一个主题管理器.
主题管理器应该使用url params,例如?theme = lightTheme.主题在模块之外的文件夹"模板"中组织.主题还应包括视图脚本.
据我所知,通过阅读一些ZF2文档,可以通过一些监听器事件来实现.
有没有人做得那么好或者能给我一些例子如何解决这个要求?
我正在设置 jenkins 作业来构建和部署 Zend Framework 2 php 应用程序。在我的 ant 构建脚本中,我定义了一个用于验证 php 文件的 lint 作业。
构建作业失败,因为 lint 在 ZF2 库文件中检测到错误。
这是 lint 生成的输出:
[apply] PHP Fatal error: Constructor Zend\Captcha\Factory::factory() cannot be static in /var/lib/jenkins/workspace/XXX/vendor/zendframework/zendframework/library/Zend/Captcha/Factory.php on line 90
[apply] Errors parsing /var/lib/jenkins/workspace/XXX/vendor/zendframework/zendframework/library/Zend/Captcha/Factory.php
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么验证Zend/Captcha/Factory.php fails?
ANT 任务如下所示:
<target name="lint" description="Perform syntax check of sourcecode files">
<apply executable="php" failonerror="true">
<arg value="-l" />
<fileset dir="${basedir}/">
<include name="**/*.php" />
<modified />
</fileset>
<fileset dir="${basedir}/tests">
<include name="**/*.php" />
<modified />
</fileset>
</apply>
</target>
Run Code Online (Sandbox Code Playgroud)