0
Symfony3의 HelperSet에 자신의 도우미를 추가 할 수있는 방법이 있습니까?Synfony3 Console : HelperSet에 자신의 도우미 추가
설명서에 도움이되는 것이 없습니다.
Symfony3의 HelperSet에 자신의 도우미를 추가 할 수있는 방법이 있습니까?Synfony3 Console : HelperSet에 자신의 도우미 추가
설명서에 도움이되는 것이 없습니다.
나는 코드를 따라 간단한 해결책을 찾았습니다. :)
필자는 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');
:
그것은 단지에서 찾을 오히려 간단합니다 코드를 따르는가? 'bin/console'은'Symfony \ Component \ Console \ Application'을 확장 한'Symfony \ Bundle \ Bundle \ FrameworkBundle \ Console \ Application'을 사용합니다.이 프로그램에는'getDefaultHelperSet'라는 메소드가 있습니다. 자신의 Application 클래스를 구현하고,'Symfony \ Bundle \ FrameworkBundle \ Console \ Application'을 확장하고,'getDefaultHelperSet'을 오버라이드하고 그것을'bin/console'에서 사용하십시오. – ccKep
코드를 따라 가서 set() 메서드를 찾아 주셔서 감사합니다. 훌륭하게 작동합니다. :) – freesh