Z notatnika webmasterki

30 Gru, 2017

HMVC w Symfony

Zamieszczony przez: Joanna w: Symfony3

Tak. Zaczęłam miesiąc temu swoją przygodę z Symfony. Długo trzymałam się z daleka od tego frameworka. Dziś właściwie nie wiem z jakie były powody mojego postępowania. Życie mnie przymusiło, żeby się jednak z nim zapoznać i prawdę mówiąc, nie żałuję. Oczywiście nie ma dnia, żebym nie zmagała się z zupełnie nowymi dla mnie zagadnieniami. Ot choćby wykorzystanie wzorca HMVC. Wydawałoby się bułka z masłem. W szablonach Twig z których korzystam jest możliwość renderowania wybranej akcji dowolnego kontrolera.


Dokumentacja mówi co następuje:

<div id="sidebar">
    {{ render(controller(
        'AppBundle:Article:recentArticles',
        { 'max': 3 }
    )) }}
</div>

gdzie Article to nazwa wybranego kontrolera (w pliku AppBundle/ArticleController) a recentArticles to metoda tego kontrolera którą chcemy uruchomić i wyrenderować to co ona zwróci.

Człowiek już zaciera ręce ciesząc się, że pójdzie gładko. A gdzie tam! Kłamią! W dokumentacji jest błąd. Trochę się naszukałam, żeby znaleźć informację, że dla wersji 3.2 i poniżej taki zapis zadziała. Za to dla wersji od 3.3 w górę trzeba inaczej, bo tak:

{{ render(controller(
    'AppBundle\\Controller\\ArticleController:recentArticlesAction', 
    {'max': 3}
)) }}

Niestety zapomnieli o tym wspomnieć w dokumentacji. No to się z Wami dzielę, żebyście długo nie szukali.

6 komentarzy na "HMVC w Symfony"

1 | Responsywne Strony Internetowe

30. grudnia 2017 o 12:45 pm

Avatar

Zawsze jeszcze można wykorzystać render_esi i odpalić esi + varnish.

Wtedy jest dużo szybciej ; ) Bo lecimy z HTTP Cache.

2 | Joanna

31. grudnia 2017 o 1:34 am

Avatar

Pewnie tak. Na razie się uczę :)

3 | spam

31. grudnia 2017 o 9:04 pm

Avatar

Taka rada profilaktyczna, jeśli nie masz przymusu użycia akcji z kontrolera, to nie używaj. Od rzeczy globalnych są Twig Extensions :)

4 | Joanna

31. grudnia 2017 o 9:07 pm

Avatar

Ba… Gdybym nie miała przymusu…

5 | eRIZ

2. stycznia 2018 o 1:21 pm

Avatar

Pamiętaj, że każdą stronę dokumentacji możesz samodzielnie uaktualnić — wystarczy fork na Githubie, poprawka, pull request.

6 | Joanna

3. stycznia 2018 o 12:15 am

Avatar

Dobrze wiedzieć. Na pewno skorzystam.

Formularz komentarza

Wrzesień 2018
P W Ś C P S N
« Cze    
 12
3456789
10111213141516
17181920212223
24252627282930

Archiwa

About

Moje notatki z pracy

Subskrypcja

Wprowadź swój adres email aby zaprenumerować ten blog i otrzymywać powiadomienia o nowych wpisach przez email.

Dołącz do 40 pozostałych subskrybentów

Tematy

%d bloggers like this: