Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny][Symfony2] Route i parametr dla kontrolera
1010
post
Post #1





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


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((IMG:style_emoticons/default/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ć?

Ten post edytował 1010 26.04.2013, 21:38:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
basso
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 1
Dołączył: 12.12.2010

Ostrzeżenie: (0%)
-----


Z tymi tagami to już bębniłem na swoim temacie (IMG:style_emoticons/default/smile.gif) Też tak mam... mylące to jest, trzeba dać np ZEND i SF2 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif) . Pytaj jak coś ja też robię projekt teraz.

Ten post edytował basso 28.04.2013, 22:50:14
Go to the top of the page
+Quote Post
1010
post
Post #3





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 10:34