php - ZF2 console error - Get was unable to fetch or create an instance for ViewRenderer -



php - ZF2 console error - Get was unable to fetch or create an instance for ViewRenderer -

i have problem doctrine console. have mailservicefactory.php containing code:

namespace application\service; utilize zend\servicemanager\factoryinterface; utilize zend\servicemanager\servicelocatorinterface; class mailservicefactory implements factoryinterface { public function createservice(servicelocatorinterface $servicelocator) { $i_render = $servicelocator->get('viewrenderer'); $a_config = $servicelocator->get('config'); homecoming new mailservice($i_render, $a_config); } } utilize zend\servicemanager\factoryinterface; utilize zend\servicemanager\servicelocatorinterface; class mailservicefactory implements factoryinterface { public function createservice(servicelocatorinterface $servicelocator) { $i_render = $servicelocator->get('viewrenderer'); $a_config = $servicelocator->get('config'); homecoming new mailservice($i_render, $a_config); } }

and functions works, when execute vendor/bin/doctirne-module error below:

fatal error: uncaught exception 'zend\servicemanager\exception\servicenotfoundexception' message 'zend\servicemanager\servicemanager::get unable fetch or create instance viewrenderer' in /users/daniele/apps/corradini.com/www/vendor/zendframework/zendframework/library/zend/servicemanager/servicemanager.php:529

why i'm getting error?

you cannot viewrenderer straight servicelocator on console requests because not in stage since request not httprequest.

instead of viewrenderer, can seek passing phprenderer instance service , render viewmodel using that. example:

use zend\view\renderer\phprenderer; class mailservicefactory implements factoryinterface { public function createservice(servicelocatorinterface $servicelocator) { $renderer = new phprenderer(); $a_config = $servicelocator->get('config'); homecoming new mailservice($renderer, $a_config); }

now in mailservice:

use zend\view\renderer\rendererinterface; utilize zend\view\model\viewmodel; class mailservice { protected $renderer; public function __construct(rendererinterface $renderer, $config) { $this->renderer = $renderer; // set config etc.. } public function foomethod() { $model = new viewmodel(); $model->settemplate('path/to/template.phtml'); $result = $this->renderer->render($model); // $result contains rendered html markup }

hope helps.

php doctrine2 zend-framework2 command-line-interface

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -