0

有没有办法在 Symfony3 的控制台 HelperSet 中添加自己的助手?

我在文档中没有找到任何有用的东西。

4

1 回答 1

0

好的,我按照代码找到了一个简单的解决方案。:)

我只需要添加实现 HelperInterface 的类,或者扩展抽象的 Helper 类。

$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');

:)

于 2017-09-05T18:01:42.610 回答