gpt4 book ai didi

view-helpers - 如何注册查看助手

转载 作者:行者123 更新时间:2023-12-04 04:39:28 25 4
gpt4 key购买 nike

如何使用工厂注册 View helper?

View\Helper\GenerateAnchor::class => GenerateAnchorFactory::class,

最佳答案

我猜你只需要配置文件中的设置,但我将展示在 Zend 3 中注册 View 助手的完整路径

首先,我们需要 View 助手:

namespace MyNamespace\View\Helper;

use Zend\View\Helper\AbstractHelper;

class TestViewHelper extends AbstractHelper
{
public function __invoke()
{
// your code...
}
}

如果我们需要注入(inject)一些依赖,那么我们需要创建自定义工厂,但是如果我们的 View 助手不需要其他服务/类,那么我们可以跳过这一步

namespace MyNamespace\Factory\View\Helper;

use Interop\Container\ContainerInterface;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use MyNamespace\View\Helper\TestViewHelper;

class TestViewHelperFactory implements FactoryInterface
{
/**
*
* @param ContainerInterface $container
* @param string $requestedName
* @param null|array $options
* @return TestViewHelper
*/
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
$class = $requestedName ? $requestedName : TestViewHelper::class;
$auth = $container->get('MyCustomAuth');
$viewHelper = new $class($auth);

return $viewHelper;

}
/**
* Provided for backwards compatibility; proxies to __invoke().
*
* @param ContainerInterface|ServiceLocatorInterface $container
* @return TestViewHelper
*/
public function createService(ServiceLocatorInterface $container)
{
return $this($container, TestViewHelper::class);
}
}

最后一步是在 module.config.php 中注册我们的 View 助手

'view_helpers' => [
'aliases' => [
'viewPlugin' => View\Helper\TestViewHelper::class,
],
'factories' => [
View\Helper\TestViewHelper::class => InvokableFactory::class // Or use your own factory
]
],

而且...在我们的 View 模板中,我们可以这样使用它:

index.phtml

<?php echo $this->viewPlugin(); ?>

关于view-helpers - 如何注册查看助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com