Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][Symfony2] Route i parametr dla kontrolera
Forum PHP.pl > Forum > PHP > Frameworki
1010
Witam wszystkich.

Z góry uprzedzam, że z Symfony2 nie pracuję zbyt długo i to pierwsza rzecz jaką na tym buduję, dlatego mogę jeszcze nie pojmować do końca niektórych filozofii. W takim razie z góry dziękuję za naprowadzenie na dobrą drogę, gdzie doczytać coś ważnego itp.

Mam taki oto problem. Wygenerowałem CRUD dla pewnego Entity. Jest to entity o nazwie File, która ma przechowywać pliki dla danego newsa. I chciałbym, żeby to działało na zasadzie że jest adres /news/{newsId}/files/(add/edit/...).

Wymyśliłem taką konstrukcję, że przekażę ten parametr dla całej klasy, a w konstruktorze sprawdzę sobie czy w ogóle taki news istnieje i czy dana osoba ma prawo do niego coś dodawać.

I taki oto kod:

  1.  
  2. /**
  3.  * File controller.
  4.  *
  5.  * @Route("/news/{newsId}/files")
  6.  */
  7. class FileController extends Controller
  8. {
  9.  
  10. public function __construct(questionmark.gif?) {
  11.  
  12. }


I teraz, czy jest możliwość stworzenia takiego konstruktora do którego przekazany zostanie ten parametr, czy muszę do każdej z metod dodać go osobno i tam jakoś to obsługiwać?

Z góry dziękuję za pomoc.

EDIT: Nie wiem czemu, ale jak dodaje tag Symfony2 tylko to wyświetla alert, że muszę dodać tag... Jak mogę to poprawić?
basso
Z tymi tagami to już bębniłem na swoim temacie smile.gif Też tak mam... mylące to jest, trzeba dać np ZEND i SF2 smile.gif, nie widzi system tagu SF2 po prostu.

Nie jestem ekspertem bo też się uczę, ale chyba idziesz złą drogą. Jak masz relację w bazie... to nie pozwoli ona na dodanie pliku bez newsa (invalid foregin key). Po drugie, aby dodać pliki do newsa trzeba w niego wejść/musi on być musi mieć te ID. Więc nie wiem na co Ty chcesz sprawdzać te newsy, moim zdaniem to jest nadmiarowość. Więc te sprawdzenie sobie wywal. Jeśli chodzi o prawa dostępu to możesz to faktycznie w kontruktorze zrobić pobierając id zalogowanej osoby i wtedy sprawdzić czy dla tego newsa ma dostęp... typowy ACL.

I przy sprawdzeniu osoby do newsa... jeśli zwróci Ci FALSE => to znaczy, że albo nie ma NEWS-a albo nie ma uprawnień do niego smile.gif. Pytaj jak coś ja też robię projekt teraz.
1010
Hmm, jako że się uczę dopiero to zapewne zrobiłem kilka rzeczy na około. Ale dzięki za naprowadzenie. Będę testował, sprawdzał różne opcje i jak wiadomo, na błędach się człowiek najlepiej uczy.

Pozdrawiam
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.