2017-09-05 8 views
0

Symfony3의 HelperSet에 자신의 도우미를 추가 할 수있는 방법이 있습니까?Synfony3 Console : HelperSet에 자신의 도우미 추가

설명서에 도움이되는 것이 없습니다.

+0

그것은 단지에서 찾을 오히려 간단합니다 코드를 따르는가? 'bin/console'은'Symfony \ Component \ Console \ Application'을 확장 한'Symfony \ Bundle \ Bundle \ FrameworkBundle \ Console \ Application'을 사용합니다.이 프로그램에는'getDefaultHelperSet'라는 메소드가 있습니다. 자신의 Application 클래스를 구현하고,'Symfony \ Bundle \ FrameworkBundle \ Console \ Application'을 확장하고,'getDefaultHelperSet'을 오버라이드하고 그것을'bin/console'에서 사용하십시오. – ccKep

+0

코드를 따라 가서 set() 메서드를 찾아 주셔서 감사합니다. 훌륭하게 작동합니다. :) – freesh

답변

0

나는 코드를 따라 간단한 해결책을 찾았습니다. :)

필자는 HelperInterface를 구현하는 클래스를 추가하거나 추상 헬퍼 클래스를 확장해야합니다.

<?php 
namespace MyApp\Helper; 

use Symfony\Component\Console\Helper\Helper; 

class MyHelper extends Helper 
{ 
    /** 
    * @param $string 
    * @return string 
    */ 
    public function doIt($string) { 
     return 'this is your '.$string; 
    } 

    /** 
    * Returns the canonical name of this helper. 
    * 
    * @return string The canonical name 
    */ 
    public function getName() { 
     return 'myhelper'; 
    } 
} 

을 그리고 내 코드에서 나는 그것을 좋아 사용할 수 있습니다 :

$this->getHelperSet()->set(new MyHelper(), 'myhelper'); 

그리고 myhelper 클래스

그렇게 보이는

$myhelper = $this->helperSet->get('myhelper'); 
$myString = $myhelper->doIt('hallo'); 

: