Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][Symfony2]Problem na starcie nauki
Forum PHP.pl > Forum > PHP > Frameworki
smiady
Witam.

Zaczynam swoją przygodę z frameworkiem Somfony 2 i niestety mam problem na samym starcie. Otóż chce stworzyć zwykłą stronę hello world i wszystko robię z godnie z przykładem z książki "Symfony 2 Od podstaw". Wyskakuje mi taki błąd: NotFoundHttpException: No route found for "GET /hello-world.html"
Kombinowałem na wiele sposobów i nic to nie dało :/
Szymciosek
Pokaż jaki adres próbujesz uruchomić oraz jak masz zrobiony routing.
smiady
adres taki:
http://localhost/php/symfony/hello-world/w...ello-world.html

a routing taki:

my_helloworld_homepage:
pattern: /
defaults: { _controller: MyHelloworldBundle:Default:index }
Szymciosek
Powinno się skończyć na app_dev.php i wtedy powinna się uruchomić ta strona.
smiady
Pojawił się nowy problem:

Controller "My\HelloworldBundle\Controller\DefaultController::indexAction()" requires that you provide a value for the "$name" argument (because there is no default value or because there is a non optional argument after this one).

tak wyglada moj routing:

my_helloworld_homepage:
pattern: /
defaults: { _controller: MyHelloworldBundle:Default:index }

tak DefaultControler:


namespace My\HelloworldBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{
public function indexAction($name)
{
return array();
}
}

a chce by byla otworzyla sie strona z pliku index.html.twig:

<HTML>
<HEAD>
<title>Hello world!</title>
</HEAD>
<BODY>
Hello world !
</BODY>
</HTML>

jak to zrobic ?

Foxx
Masz wszystko w komunikacie.
Skasuj $name z public function indexAction($name) i SF przestanie wymagać, żebyś ten argument podawał.
smiady
Faktycznie, ale dalej jest blad ...

The controller must return a response (Array() given).

Już część błędów się rozwiązało może się ostatecznie uda tongue.gif
wujek2009
Twoja akcja w tym kontrolerze musi zwrócić jakąś odpowiedź (np. widok).
  1. return $this->render(NazwaBundle:Kontroler:akcja.html.twig');


(przykładowe dane)
smiady
Działa za dużo usunąłem. W książce symfony 2 od podstaw kod z tą najnowszą wersją S2 trochę się różni tongue.gif dzięki za szybkie, poprawne odpowiedź temat do zamknięcia smile.gif
webmaniak
No nie, proszę, nie pisz że kod się różni bo dla takiej aplikacji jak hello world to jest nieodczuwalne. Wiem bo przerabiałem, tutaj masz opis:
http://www.grzeznik.pl/programowanie/php/s...wsza-aplikacja/
może to nie jest super specjalistyczny opis, ale gdy mam przerwę z symfony(a raczkuję w tym fw) to taki opis pomaga, może Tobie też pomoże smile.gif
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.