ZF2 - 我如何可以调用从视图中的自定义类PHP的功能? [关闭](ZF2 - How ca

2019-10-22 03:48发布

我创建了一个自定义的服务为PHP类(服务类),还有一些功能(generateInfo())和我正在寻找一种方法来调用其他意见这个功能

感谢帮助。

Answer 1:

你可以创建自己的视图助手

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');

如果没有视图助手

不是最好的做法,因为这会产生重复的代码,但是,如果你不希望创建一个视图助手,那么你可以随时创建一个控制器服务的一个实例,然后把它传递给视图。



文章来源: ZF2 - How can i call a function of a custom class php from a view? [closed]