2013-01-18 16 views
5

सिम्फनी 2 में व्यूहेल्पर कैसे बनाएं। मैंने पूरे दस्तावेज़ को पढ़ा है लेकिन यह किसी भी शब्द का वर्णन नहीं करता है। इसमें सिर्फ ऑटोलोडिंग और सेवा है। http://symfony.com/doc/current/cookbook/index.htmlसिम्फनी 2 में देखेंहेल्पर बनाएं

+1

आप "एक ViewHelper बनाएँ" से क्या मतलब है? यदि आप जुड़ने के लिए कस्टम फ़ंक्शंस/फ़िल्टर/आदि जोड़ना चाहते हैं, तो पढ़ें http://symfony.com/doc/current/cookbook/templating/twig_extension.html – AdrienBrault

+0

व्यूहेल्पर दृश्यों (टेम्पलेट्स) में एक सहायक फ़ंक्शन को कॉल करने का एक तरीका है। मुझे नहीं पता कि इसे सिम्फनी 2 में क्या कहा जाता है लेकिन ज़ेंड इसे "व्यूहेल्पर" कहते हैं। वैसे, मैं टवीग का उपयोग नहीं करता लेकिन PHP। – Emerald214

+0

आप टवीग फ़िल्टर और फ़ंक्शंस बनाने के लिए टवीग का विस्तार कर सकते हैं। आधिकारिक twig दस्तावेज http://twig.sensiolabs.org/doc/advanced.html देखें – Praveesh

उत्तर

3

तुम सिर्फ एक वर्ग अपने सहायक समारोह लागू करता है और फैली

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();