![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 6.05.2012 Ostrzeżenie: (0%)
|
Mam problem z ustawieniem routing-u w Symfony 2, dzięki ustawieniu adnotation działa mi "index" pakietu po adresie:
projekt/web/app.php/pakiet.html ale nie chce działać bez "/app.php" , ustawiłem w routing.yml: _homepage: pattern: / defaults: { _controller: PakietBundle:Default:index } (wiem o spacjach) wyczyściłem cache i nic to nie dało (IMG:style_emoticons/default/sad.gif) nie działa: projekt/web/app.php/ --> Error 404 projekt/web/ --> Error 403 Może mi ktos podpowiedzieć co robie źle? Ten post edytował strike 3.10.2012, 18:18:57 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.09.2011 Ostrzeżenie: (0%)
|
zle masz nazwanego bundle, nazwa jest 2 czesiowa np AcmeDemoBundle i analogicznie struktura katalogow src: Acme/DemoBundle
Ty masz tylko PakietBundle wiec cos ci brakuje |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 6.05.2012 Ostrzeżenie: (0%)
|
Nazwa jest prawidłowa więc problem jest gdzie indziej
Edit: Wydaje mi się że problem jest w ustawieniach mojego lokalnego serwera, w pliku htaccess jest warunek <IfModule mod_rewrite.c> Czyżbym miał niewłączony mod_rewrite? W httpd.conf jest odkomentowane: LoadModule rewrite_module modules/mod_rewrite.so czyżby była do tego potrzebna instalacja dodatkowej paczki ? Ten post edytował strike 3.10.2012, 19:12:37 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%)
|
A korzystasz czasami z app_dev.php ? Tam Ci ładnie pokaże, jeśli ma problem.
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 6.05.2012 Ostrzeżenie: (0%)
|
Problem rozwiązany a raczej znam jego przyczynę: Gdy nie działa mod_rewrite to tak się dzieje.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
Witam,
czytam sobie informacje o routingu dostępne tutaj: http://symfony-docs.pl/book/routing.html Wcześniej miałem doczynienia z CI. Tam tworzyłem sobie akcje w kontrolerze, następnie odpowiedni widok i działało. Tutaj natomiast wygląda na to - tak mi się wydaję, że każdy adres któy będzie wpisany musi być zapisany w routingu. Pytanie czy da się to jakoś obejść? Czy to musi tak wyglądać? Czy w Yii też to tak wygląda? Wiem, że dla "wyjadaczy" symfony to jest kretyńskie pytanie, ale ja się uczę tego fw, więc pytam (IMG:style_emoticons/default/smile.gif) Pozdrawiam i dziękuję za wytłumaczenie. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%)
|
Nie, nie każdy (konkretny) adres musi być wpisany w routingu. Możesz np użyć przekazywania przez trasę zmiennej /home/{zmienna} i na jej podstawie coś tam sobie wyświetlać
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
Hmm, no tak, ale tak czy siak część adresów będzie wymagała podania konkretnego opisu w routingu? Czy w zend2 i yii też to tak wygląda? Czy to jest specyficzna rzecz tylko dla symfony2?
Edit: mam pierwszy problem z routingiem: routing.yml:
AdminControllers.php:
Plik index.html.php:
No i komunikat: Nie odnaleziono serwera lub pliku. O co chodzi? Adres http://aukcje.local/app_dev.php/account/admin/categories prowadzi do kontrolera admin, akcji categories a ta do pliku index.html.php? Ten post edytował webmaniak 15.05.2013, 21:20:17 |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Symfony zrezygnowało* z udostępnienia routingu, gdzie bezpośrednio w URLu podany jest kontroler czy akacja. I w sumie bardzo dobrze, bo tak naprawdę nie ma specjalnie dużo roboty z tym, a:
1. Uniezależniasz swój kod od URL-i. Jeżeli w przyszłości zmienisz coś w kodzie nie będziesz musiał zmieniać URL-i czy tworzyć jakiś dziwnych przekierowań. 2. Zawsze możesz korzystać z nazwy ścieżki (np. homepage) zamiast trudzić się z każdorazowym podawaniem pary kontroler:akcja. 3. Możesz łatwo nadpisać ścieżkę. 4. Znacząco ułatwia to utrzymanie kodu. * oczywiście możesz sobie bezinwazyjnie nadpisać mechanizm routingu (właściwie to wystarczyłoby nadpisać jego maluteńki fragment), ale szczerze nie zalecałbym tego. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
A miałem wypróbować Yii :-) skoro ktoś to tak wymyślił to zapewne jest to dobre rozwiązanie a i Twoje argumenty są przekonywujące :-) Mógłby ktoś zerknąć jeszcze na kod który zamieściłem, nie potrafię znaleźć tam błędu-może zmęczenie, nie wiem.
Ten post edytował webmaniak 15.05.2013, 22:07:29 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%)
|
na
Cytat Adres http://aukcje.local/app_dev.php/account/admin/categories prowadzi do kontrolera admin, akcji categories a ta do pliku index.html.php? Jak masz taki adres to zmień pattern w routingu:
brakowało account |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
hmmmm.... Skoro brakuje account, to czemu w tym:
działa mi poprawnie adres: http://aukcje.local/app_dev.php/account/admin (IMG:style_emoticons/default/questionmark.gif) |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Zapewne w głównym pliku routingu (app/config/routing), gdzie dołączasz plik routingu z bundla masz ustawiony prefix:
Kod my_bundle_routing:
resource: "@MyBundle...." prefix: /accout |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
@sajegib AdminController.php - taką nazwę mam - po prostu źle napisałem tutaj.
Zapewne w głównym pliku routingu (app/config/routing), gdzie dołączasz plik routingu z bundla masz ustawiony prefix: Kod my_bundle_routing: resource: "@MyBundle...." prefix: /accout Zgadza się (IMG:style_emoticons/default/smile.gif) To teraz wrócę do pierwszego pytania: czemu zatem nie działa mi adres z kategoriami? Ten post edytował webmaniak 16.05.2013, 08:16:39 |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%)
|
@webmaniak ciężko tak trochę w ciemno Ci pomóc. To może być np. jakaś drobna literówka, której nie mamy szans zauważyć. Przejrzyj logi: albo w katalogu apps/logs albo za pomocą Web Debug Toolbar. Jak to Ci nic nie powie. To wrzuć log z tej jednej wadliwej akcji.
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
hmmm... tam była literówka, między { a _controller. Teraz mam ten sam komunikat. Log:
Kod [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". [] [] [2013-05-16 18:18:20] request.INFO: Matched route "Admin_kategoria_lista" (parameters: "_controller": "Auctions\AccountBundle\Controller\AdminController::categoriesAction", "_route": "Admin_kategoria_lista") [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\Fragment\FragmentHandler::onKernelRequest". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener::injectLogger". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.controller" to listener "Acme\DemoBundle\EventListener\ControllerListener::onKernelController". [] [] [2013-05-16 18:18:20] event.DEBUG: Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". [] [] Tyle że jak wpiszę w akcji:
To mam tekst z echo. Czyli problem jest z odczytem pliku? |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%)
|
Log nie zawiera żadnego błędu, być może jest niepełny.
Cytat To mam tekst z echo. Czyli problem jest z odczytem pliku? No to wynika z tego, że problem jest z widokiem/szablonem a nie routingiem czy też kontrolerem. W logu powinna być informacja czy nie może znaleźć tego błędu czy też jest to np. błąd składni. |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
No właśnie dałem pełny log po wpisaniu w przeglądarce adresu. Nie ma nic więcej. A widok mam w AccountBundle/Resources/views/Categories i tam index.html.php. I teraz hmmm... działa jak dałem tak:
Może mi ktoś wytłumaczyć z czego to wynika? jak już przekazuję zmienną to muszę ją wykorzystać w widoku? |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%)
|
Jeśli kod który wrzuciłeś (odnośnie akcji) no to błąd jest oczywisty - brak inicjalizacji zmiennej form. Błędu żadnego nie dostajesz bo chyba masz zbyt niskie raportowanie błędów ustawione.
Ten post edytował destroyerr 16.05.2013, 20:04:48 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%)
|
Ok, spawdzę poziom raportowania, jak dla mnie development powinien mieć pełny. To już umiem zmienić. Dzięki za pomoc.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 20:22 |