2012-10-05 1 views
0

이전 응용 프로그램을 새로운 Zend Framework 2.0으로 마이그레이션하려고합니다. 내 응용 프로그램은 라이브러리 (Zend \ Application 사용 또는 MVC 부분 없음)로 사용하며 양식 도우미를 사용하는 데 문제가 있습니다. 그래서 2 개의 질문이 끝났습니다.Zend Framework 2.0에서 PhpRenderer에 도우미를 추가하는 방법은 무엇입니까?

  1. 어떻게 PhpRenderer에 도우미 경로를 추가 할 수 있습니까?
  2. 코드를 검색하면 기본 헬퍼 경로가있는 ViewHelperManagerFactory라는 클래스를 발견했습니다. 이 경로를 사용하여이 팩토리에서 생성 된 새로운 경로로 HelperManager를 변경하려면 어떻게해야합니까? (나는 ServiceManager가 없다).

답변

3

HelperPluginManager에서 setFactory()를 호출하여 도우미를 추가 할 수 있습니다.

$renderer = new \Zend\View\Renderer\PhpRenderer(); 
$renderer->getHelperPluginManager()->setFactory('specialPurpose', function() { 
    return new SpecialPurpose(); 
    }); 

echo $renderer->specialPurpose(); 
echo $renderer->specialPurpose(); 
echo $renderer->specialPurpose(); 

class SpecialPurpose extends \Zend\View\Helper\AbstractHelper { 

    protected $count = 0; 

    public function __invoke() { 
    $this->count++; 
    $output = sprintf("Called %d time(s).", $this->count); 
    return htmlspecialchars($output, ENT_QUOTES, 'UTF-8'); 
    } 

} 
+0

그건 제가 묻는 것이 아닙니다. 헬퍼 PATH를 추가하는 방법이나 헬퍼 플러그인이 아닌 HelperPluginManager에 특정 팩토리를 추가하는 방법을 물었습니다. 어쨌든, 나는 다른 사람들에게 유용 할 수 있기 때문에 대답을 유지하는 것을 선호합니다. – elxordi

관련 문제