Tworzę bibliotekę obiektów wyświetlanych dla naszej aplikacji. Reprezentują one html wielu popularnych obiektów (użytkowników, rozmów, wiadomości itp.) W różnych widokach. Według poglądów mam na myśli, że obiekt może pluć z powrotem różne "poziomy powiększenia" z różnymi znacznikami.Zend Framework - Kiedy używać viewscripts/partials a view helpers
Niektóre obiekty wyświetlane zawierają inne obiekty wyświetlania do renderowania, np. obiekt listy użytkowników renderuje obiekty użytkownika w określonym widoku (ten konkretny widok przesuwa je z powrotem na pozycje listy, aby zmieściły się na liście)
Próbuję przenieść je we właściwy sposób robienia rzeczy w ZF, ale Nie mogę zdecydować, czy wszystkie powinny być widokami pomocników, czy też wszystkie są widokami skryptów/części.
Samo wyświetlanie skryptów i renderowanie ich za pomocą -> render() wydaje się być trochę brudne, ponieważ wszelkie informacje lub parametry, które chcę do nich przekazać, muszą zostać przypisane do obiektu widoku.
Częściowe wydają się trochę bardziej poprawne, z wyjątkiem nie pewności, czy właściwe jest wykonywanie logiki wyświetlania w tych (jeśli parametr "showNotificationStatus" jest przekazywany jako parametr, renderuj ten zakres). Lub jeśli jest to koszerne dla częściowych renderowania innych części (lista użytkowników renderująca obiekt użytkownika).
Zobacz, jak pomocnicy wydają się być właściwym sposobem na zrobienie tego, ale nie wiem, czy to nadużywa pomocników widoku. Każdy obiekt może być pomocnikiem widoku i zaakceptować parametr podglądu obiektu, dzięki czemu wiedział, jaki poziom powiększenia/kontener ma się wyświetlać, lub każdy widok obiektu mógłby być nawet jego własnym pomocnikiem (więc nie ma dużej instrukcji przełączania wewnątrz obiektu). Jedną dobrą rzeczą w widokach jest to, że możesz przekazywać parametry i nadal ma dostęp do kontekstu widoku, jeśli potrzebujesz czegoś z tego poziomu.
Większość z nich będzie akceptować modele, z których kilka wymaga dodatkowych parametrów, aby wiedzieć, co robić (np. ShowNotificationStatus z góry). Jakie jest odpowiednie narzędzie do tego?
Bryan Myślę, że to naprawdę dobra informacja. Czy masz szansę trochę rozwinąć? Załóżmy, że masz obiekt biznesowy, który można przedstawić na różnych poziomach powiększenia (szczegółów). Czy masz jednego pomocnika, który renderuje różne cząstki na podstawie przekazanego parametru? Wielu pomocników z odpowiednimi częściami? Zasadniczo patrzysz na ogólnie związek 1 do 1? I czy to jest świetne, aby stronniczość mogła wykorzystać innych pomocników widoku? (Wyobraźmy sobie rozmowę, w której znajduje się lista użytkowników w środku.). Musisz renderować użytkowników w części rozmowy.) –
Dodałem do mojej odpowiedzi a powyżej przykład. W moim przykładzie używam helperów do kontrolowania częściowych, ale nie rozumiem, dlaczego nie można tego zrobić na odwrót. Po prostu wolę zachować mój HTML wolny od logiki php, jak tylko mogę. –
Znakomity. Dzięki, bryan! –