Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony2]Gdzie umieszczać oddzielne pliki z własnymi klasami
Forum PHP.pl > Forum > PHP > Frameworki
WisJa
Witam,

czytałem różne źródła i nigdzie nie znalazłem odpowiedzi na tytułowe pytanie. Chodzi mi o jakiś własny plik z pojedynczą klasą, która nie zwraca żadnego obiektu Response tylko jakiś tam wynik. Gdzie takie pliki należy umieszczać i w jaki sposób się do nich odwoływać tak, aby zachować poprawną strukturę katalogów frameworka? Czy może z każdej takiej klasy powinienem stworzyć osobne bundle?

Pozdrawiam
AxZx
możesz utworzyć katalog np. Service
tam trzymaj klasy, z których zrobisz serwisy.
będziesz mógł swobodnie używać w całej aplikacji tych serwisów.
w łatwy sposób możesz do takiego serwisu wstrzyknąć inny serwis lub parametry konfiguracyjne.

np. coś takiego
  1. <service id="payment.manager" class="Custom\PaymentBundle\Service\PaymentManager">
  2. <argument type="service" id="event_dispatcher" />
  3. </service>
Crozin
Powinno być w takim miejscu by nazwa klasy łącznie z przestrzenią nazw miała logiczne uargumentowanie.
1. Jeżeli nie jest w żaden sposób związana z Symfony czy Twoimi paczkami, powinna być poza przestrzenią bezpośrednio związaną z Sf.
2. Jeżeli jest związana z Sf/Bundlami powinna być w którymś z owych bundli. Tam nie ma już znaczenia do jakiej przestrzeni to wrzucisz - powinna ona jedynie mieć sens.

Przejrzyj sobie kilkanaście popularnych bundli/bibliotek, żeby wyrobić sobie jakiś punkt odniesienia.

Jeżeli chcesz usłyszeć jakieś konkrety, sam musisz podać takowe. Co to za klasa, jak związana jest ona z projektem?
WisJa
Nie ma żadnego związku z Symfony, po prostu przyjmuje jakiś ciąg i zwraca przetworzony, taki zwykły konwerter, więc to będzie ta pierwsza opcja smile.gif
Dzięki za odpowiedź, chodziło mi właśnie o to, żeby nie burzyć koncepcji Symfony wrzucając coś takiego np. do kontrolerów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.