5

Symfony 2 で ViewHelper を作成する方法。ドキュメント全体を読みましたが、そのような用語は説明されていません。オートローディングとサービスがあるだけです。 http://symfony.com/doc/current/cookbook/index.html

4

1 に答える 1

4

ヘルパー関数を実装して拡張するクラスを作成するだけです

Symfony\Component\Templating\Helper\Helper

このような:

namespace Acme\Foo\Helper;


use Symfony\Component\Templating\Helper\Helper;

class MyViewHelper extends Helper {

    public function helpMe() {
       // do something
       return $value;
    }

   /**
    * @inheritdoc
    */
    public function getName() {
         return "anyCanonicalServiceName";
    }
}

次に、たとえば特別なタグを使用して、ヘルパーをサービスとして宣伝する必要があります

Resources/config/services.yml


services:
        your_service_name:
        class: Acme\Foo\Helper\MyViewHelper
        # the tag alias "myViewHelper" is later used in the view to access your service
        tags:
            - { name: templating.helper, alias: myViewHelper }

これで、次のようなビューでヘルパーにアクセスできます。

echo $view['myViewHelper']->helpMe();
于 2014-07-09T09:00:17.510 に答える