[ZF2] Jak stworzyć własnego pomocnika widoku (ViewHelper) ?

Programowanie
[ZF2] Jak stworzyć własnego pomocnika widoku (ViewHelper) ?

Tworzenie własnych pomocników widoku (ViewHelper-ów) w ZF2 jest bardzo proste i przyjemne, choć chyba w wersji poprzedniej było nieco mniej pisania 😉 Mamy także możliwość definiowania ich tylko dla określonych modułów co porządkuje nasz kod, gdyż nie ma potrzeby definiowania w module wszystkich pomocników.

Zaczynamy od ustawienia mapowania pomocnika widoku wewnątrz modułu, aby to zrobić przechodzimy do pliku Module.php i dodajemy poniższy kod:

public function getViewHelperConfig() 
{
    return array(
        'invokables' => array(
            'myHelper' => 'Application\View\Helper\MyHelper',
        ),
    );
}

W przypadku gdy wszystko konfigurujemy w pliku module.config.php, należy dodać do tegoż pliku poniższy kod:

'view_helpers' => array(
    'invokables' => array(
        'myHelper' => 'Application\View\Helper\MyHelper',
    ),
),

Teraz tworzymy klasę dla naszego pomocnika i robimy to tworząc odpowiedni plik w zadeklarowanej lokalizacji „Application\View\Helper\MyHelper”.

namespace Application\View\Helper;

use Zend\View\Helper\AbstractHelper;

class MyHelper extends AbstractHelper 
{
    public function __invoke() 
    {
        return "Jestem Twoim pomocnikiem !";
    }
}

Jedyne co należy zrobić to dziedziczyć po klasie abstrakcyjnej „Zend\View\Helper\AbstractHelper” i zdefiniować jakieś ciało metody „__invoke()”. Mając stworzonego pomocnika wystarczy się do niego odwołać w widoku:

<?php echo $this -> myHelper(); ?>

Możliwość komentowania jest wyłączona.