Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SF2][Symfony2][Symfony] Jaki rodzaj routingu wybrac
Wasper
post 28.03.2013, 10:22:14
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


Hej. Czytam sobie o symfony2 i zaczynam sie zastanawac czy wybrac yml czy wybrac annotacje.
Ksiazka pana gajdy w ktora sie wyposazylem opiera sie na annotacjach, ale wiele tutoriali znowu opiera sie na ymlach.
Chcialbym poznac Wasza opinie, plusy, minusy itp.
Go to the top of the page
+Quote Post
Wasper
post 28.03.2013, 11:01:36
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


Pisze o konfiguracji routingu, bo w ksiazce, ktora sluzy mi za tutorial sa uzywane annotacje, a nie wiem czy nie zdrowiej miec konfiguracje mimo wszystko w jednym pliku niz rozsiane po kontrolerach
Go to the top of the page
+Quote Post
szok
post 28.03.2013, 11:23:49
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Lepiej w Yamlu, dlatego ze jak projekt Ci się rozrośnie smile.gif to potem będziesz szukał po wszystkich controlerach i szukał jaki adres odpowiada za co.

A tak wchodzi o jeden pliku (czy tak kilku dla bundli) i już wiesz o co biega smile.gif


--------------------
Go to the top of the page
+Quote Post
Wasper
post 28.03.2013, 11:57:00
Post #4





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


To dlaczego wszyscy tak zachwalaja ta annotacje?

Czyli np jakbym w srodowisku produkcyjnym chcial ustawic "strone startowa" to musze odpowiednio dodac do routing.yml

  1. _welcome:
  2. pattern: /
  3. defaults: { _controller: JakisBundle:Jakiskontroler:jakasakcja }
Go to the top of the page
+Quote Post
Szymciosek
post 28.03.2013, 12:03:54
Post #5





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


... a w adnotacjach (annotation masz po angielsku) ustawiasz

w konkretnym kontrolerze:
  1. /**
  2. * @Route("/")
  3. */
  4. public function indexAction()
  5. {
  6. //method body
  7. }


Dodatkowo w inny prosty sposób możesz:
  1. /**
  2.   * @Route("{lang}/{slug}", requirements={"lang" = "(pl|en)"})
  3.   * @Route("{lang}/{slug}/{section}", requirements={"section" = ".+"})
  4.   */


Czyli ustawiasz sobie coś takiego jak {lang} wtedy w metodzie tworzysz, dodatkowo jak możesz zauważyć jest od razu na "tacy" podane, że lang może przyjąć tylko wartości pl lub en.
  1. public function indexAction($lang) { }
Go to the top of the page
+Quote Post
Wasper
post 28.03.2013, 12:14:25
Post #6





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


No wlasnie.
W ksiazce sa annotacje, wszedzie gdzie czytam pisze, ze standardowo annotacje..
a poza tym annotacje wydaja mi sie bardziej przejrzyste... nie wiem, zaczynam, pewnie i tak naucze sie obslugiwac i to i to ale poki co chyba bede dzialal z ksiazka i poslugiwal sie anotacjami.
Chyba, ze to jakies kategorycznie zle posuniecie smile.gif
Osobiscie tez wole miec konfig w pliku, ale jak mam tak napisany obszerny tutorial to chyba poki co nie bede kombinowal. Jak sie polapie o co chodzi to pewnie opanuje i drugie.
Jak myslicie ?
Go to the top of the page
+Quote Post
sowiq
post 28.03.2013, 12:17:55
Post #7





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(szok @ 28.03.2013, 11:23:49 ) *
Lepiej w Yamlu, dlatego ze jak projekt Ci się rozrośnie smile.gif to potem będziesz szukał po wszystkich controlerach i szukał jaki adres odpowiada za co.


Polecam sekcję Visualizing & Debugging Routes z Home > Documentation > The Book > Routing

Cytat
Kod
$ php app/console router:debug

The command will print a helpful list of all the configured routes in your application:
Kod
homepage              ANY       /
contact               GET       /contact
contact_process       POST      /contact
article_show          ANY       /articles/{culture}/{year}/{title}.{_format}
Go to the top of the page
+Quote Post
Wasper
post 28.03.2013, 12:27:18
Post #8





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


Juz to studiowalem rano smile.gif
Ale dzieki wink.gif

Po prostu sie zastanawiam co bedzie dla mnie dobre na poczatek.. i w ogole.
Czy jak ksiazke mam oparta na annotacjach to warto od razu pchac sie w ymle.
No nie wiem, jak zawsze trzeba wybierac... :/
Go to the top of the page
+Quote Post
Szymciosek
post 28.03.2013, 12:58:25
Post #9





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Najprościej - spróbuj...
Tzn. spróbuj napisać coś na yml, a następnie spróbuj napisać coś z adnotacjami, zobaczysz sam co jest dla Ciebie lepsze, bardziej czytelne itd.

Tutaj nie dowiesz się konkretnie od wszystkich, bo każdy napisze coś innego.
Działanie yml/adnotacje - takie samo, tyle tylko, że Tobie jedno może się lepiej spodobać, lepiej Ci się będzie z tym pracować, a inny powie, że nie, bo drugie jest lepsze...
Go to the top of the page
+Quote Post
Wasper
post 28.03.2013, 13:07:19
Post #10





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


A czego ja jeszcze nie wiem smile.gif

mam glowny plik routingu
  1. page_index:
  2. resource: "@PageIndexBundle/Resources/config/routing.yml"
  3. prefix: /


i plik w bundlu

  1. page_index_homepage:
  2. pattern: /hello/{name}
  3. defaults: { _controller: PageIndexBundle:Default:index }


wiec wpisanie jakasnazwaurl/hello/Wasper

wyswietla ladnie Hello, Wasper

ale dlaczego jak dokonam np zmian w routingu wew. bundla
  1. page_index_homepage:
  2. pattern: /gruby/{name}
  3. defaults: { _controller: PageIndexBundle:Default:index }


bardzo niewielkie zmiany, w sumie nijakie, a wpisanie
jakasnazwaurl/gruby/Wasper skutkuje

  1.  
  2. Oops! An Error Occurred
  3. The server returned a "404 Not Found".
  4. Something is broken. Please e-mail us at [email] and let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.


why?
Go to the top of the page
+Quote Post
Szymciosek
post 28.03.2013, 13:10:24
Post #11





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


W przypadku takich zmian działaj w środowisku dev czyli adres wygląda powiedzmy: .../web/app_dev.php/gruby/Szymek

lub jak wolisz, to usuwaj katalog cache (app/cache). Tam jest przechowywana strona, a Ty zapewne siedzisz teraz w środowisku prod czyli Twój link to: /web/gruby/Szymek lub /web/app.php/gruby/Szymek

Środowisko prod - tworzy sobie cache tylko na początek, a później z niego korzysta, pozwala to na szybsze działanie strony
Środowisko dev - tworzy cache za każdym razem, polecane właśnie w takich pracach jak Twoje, wolniej działa strona.
Go to the top of the page
+Quote Post
Wasper
post 28.03.2013, 13:13:03
Post #12





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 18.09.2011

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


I tu mnie masz wink.gif
Nie wiedzialem, ze to tak dziala smile.gif
Smiga teraz, dzieki wielkie!!
Go to the top of the page
+Quote Post
Szymciosek
post 28.03.2013, 13:14:15
Post #13





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Wydaje mi się, że w tej książce to też jest opisane (jeśli mowa o http://helion.pl/ksiazki/symfony-2-od-pods...jda,symfo2.htm)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 03:35