我创建了一个自定义的服务为PHP类(服务类),还有一些功能(generateInfo())和我正在寻找一种方法来调用其他意见这个功能
感谢帮助。
我创建了一个自定义的服务为PHP类(服务类),还有一些功能(generateInfo())和我正在寻找一种方法来调用其他意见这个功能
感谢帮助。
你可以创建自己的视图助手
namespace MyModule\View\Helper;
use Zend\View\Helper\AbstractHelper;
class MyHelper extends AbstractHelper
{
public function __invoke()
{
return $this;
}
public function render($arg1, $arg2)
{
return 'My Parametrizable Html ' . $arg1 . ' ' . $arg2;
}
public function generateInfo()
{
return 'Your HTML goes here';
}
}
现在创建的module.config.php该助手的条目:
'view_helpers' => array(
'invokables' => array(
'myHelper' => 'MyModule\View\Helper\MyHelper',
),
),
现在你可以把它在你的看法:
<?php echo $this->myHelper()->render($arg1, $arg2); ?>
而对于调用generateInfo():
<?php echo $this->myHelper()->generateInfo(); ?>
您也可以从控制器调用它:
$viewHelperManager = $this->getServiceLocator()->get('ViewHelperManager');
$myHelper = $viewHelperManager->get('myHelper');
如果没有视图助手
不是最好的做法,因为这会产生重复的代码,但是,如果你不希望创建一个视图助手,那么你可以随时创建一个控制器服务的一个实例,然后把它传递给视图。