0
symfony3のコンソールHelperSetに独自のヘルパーを追加する方法はありますか?Synfony3コンソール:HelperSetに独自のヘルパーを追加
私はドキュメントに何か役立つものは見つかりませんでした。
symfony3のコンソールHelperSetに独自のヘルパーを追加する方法はありますか?Synfony3コンソール:HelperSetに独自のヘルパーを追加
私はドキュメントに何か役立つものは見つかりませんでした。
私はコードに従って、簡単な解決策を見つけました。 :)
私は、HelperInterfaceを実装するクラスを追加するか、抽象ヘルパークラスを拡張するだけです。
$this->getHelperSet()->set(new MyHelper(), 'myhelper');
そしてmyhelperクラスのようになります。
<?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';
}
}
そして、私のコードで私が好きな、それを使用することができます。
$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