난 당신이 단지 구성 파일의 설정이 필요한 것 같아요,하지만 난 젠드 3
처음에 뷰 헬퍼를 등록에 전체 도로를 보여 드리죠, 우리는보기 도우미 필요 우리는 몇가지 의존성을 주입 할 필요가 있습니다. 그렇다면 커스텀 팩토리를 생성 할 필요가 있습니다. 그러나 뷰 헬퍼가 다른 서비스/클래스를 필요로하지 않으면이 단계를 건너 뛸 수 있습니다.
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);
}
}
,210
마지막 단계는 우리가 같이 사용할 수 있습니다 우리의 뷰 템플릿에 module.config.php
'view_helpers' => [
'aliases' => [
'viewPlugin' => View\Helper\TestViewHelper::class,
],
'factories' => [
View\Helper\TestViewHelper::class => InvokableFactory::class // Or use your own factory
]
],
그리고 ... 우리의보기 도우미를 등록하는 것입니다
index.phtml
<?php echo $this->viewPlugin(); ?>