Autor wpisu: matiit, dodany: 30.05.2013 20:49, tagi: php
Na sam początek muszę przeprosić za tygodniowy dwutygodniowy poślizg w publikacji tej części, aczkolwiek – nie mówiłem, która sobota (jednak czwartek), mam nadzieję, że nikt nie stracił chęci do nauki frameworka php laravel, a jeśli stracił, to może odzyska (dziwne zdanie wyszło).
Bez zbędnych słów
W poprzedniej części pozostawiłem Cię z zadaniem napisania widoków do naszej aplikacji. Oczywiście możliwości ich napisania jest nieskończenie wiele, przedstawię tylko te, które ja przygotowałem – jeśli masz trochę inne – nie szkodzi, nie ma najlepszej wersji. Nie zwracaj proszę uwagi na poprawność html itd, nie o tym jest ten wpis. Tak wyglądają 2 pliki widoku dla naszej aplikacji w Laravel. Ja te pliki nazwałem (od lewej) wynik.blade.php i skroc.blade.php. Ponownie – pomijam, że powinno się trzymać angielskiego nazewnictwa – wpis jest po polsku i w tym samym języku są pliki. Na początek zajmijmy się plikiem skroc.blade.php. Ten plik będzie odpowiedzialny, za przyjęcie od użytkownika linka do skrócenia. Mamy tam element input ale tak na prawdę jest to bez sensu ponieważ nie mamy żadnego formularza. Pokażę Ci teraz przekształcony plik z użyciem klasy Form z Laravel 4. Możesz przez chwilę się porozpływać nad pięknem Laravelowego kodu
Budowanie prostego formularza w Laravel 4
Dodałem też kod routingu. Jedyne co robi – to wyświetla nasz widok. Należy się kilka słów wyjaśnienia co do nowego kodu (kod to php mieszany z blade – tak się nazywa system szablonów z Laravel).
{{ Form::open() }} {{ Form::text('link') }} {{ Form::submit('Skróć') }} {{ Form::close() }}
Kod jest tak przejrzysty, że nie ma za bardzo czego tłumaczyć. Może jedynie Form::text. Jest to skrót do inputa o typie text. Parametr jest nazwą tego inputa. Tak wygląda kod wygenerowany przez ten widok:
Należy się wyjaśnienie przy tym długim ciągu znaków. Jest to ukryty element formularza generowany przez Laravel dla zapobiegania przed atakiem typu CSRF (do wygooglania, to też nie jest tematem tego artykułu, chciałbym tłumaczyć jak najdokładniej, ale na prawdę się nie da ). Co do formularza. Zauważ, ze metodą jest POST (możemy to zmienić przekazując odpowiedni parametr do metody open() ). Spróbuj kliknąć w Skróć. Powinieneś dostać bardzo ładny error Powinien wyglądać mniej więcej tak:
Widzimy najważniejsze czyli „MethodNotAllowedHttpException”. Dzieje się tak dlatego, że dla obecnego adresu URI nie zdefiniowaliśmy routingu dla metody POST (w routes.php mamy tylko wpis dla / dla GET. Naprawmy ten błąd! Wystarczy takie 3 linijki.
Dzięki temu – po kliknięciu w skróć zobaczymy wygenerowany plik skroc.blade.php. Fajnie, prawda?