• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Laravel - Obsługa błędów.

Object Storage Arubacloud
0 głosów
481 wizyt
pytanie zadane 27 kwietnia 2016 w PHP przez GaCeL Dyskutant (7,500 p.)

Cześć, jestem w trakcie tutoriala do frameworka Laravel, i mam taką funkcję
 

public function postSignIn(Request $request)
    {
        $this->validate($request, [
            'email' => 'required',
            'password' => 'required'
        ]);
        if (Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) {
            return redirect()->route('dashboard');
        }
        return redirect()->back();
    }


I w systemie szablonów wyświetlanie błędów:
 

@if(count($errors) > 0)
        <div class="ui info message">

          @foreach($errors->all() as $error)
            {{$error}}
          @endforeach

        </div>
      @endif

Tylko nie wiem dlaczego nie wyświetla tych błędów tak jak na tutorialu jak wprowadze złe dane do formularza.
Korzystam z wersji Laravel 5.2

1 odpowiedź

+2 głosów
odpowiedź 27 kwietnia 2016 przez event15 Szeryf (93,790 p.)

Ta małpa w systemie szablonów to chyba kwintesencja podejścia Taylora do php...

  1. Czemu nie Symfony?
  2. Czemu nie Twig?

Nie dałeś linka do tutka. Nie napisałeś dokładnie co się dzieje przy Twoim kodzie...

komentarz 27 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
edycja 27 kwietnia 2016 przez GaCeL

Kod działa poprawnie tylko nie wyświetla błędów.
https://www.youtube.com/watch?v=gybCjXYBgNA&index=5&list=PL55RiY5tL51oloSGk5XdO2MGjPqc0BxGV

BTW.

  1. Czemu Symfony?
  2. Czemu Twig?
1
komentarz 27 kwietnia 2016 przez event15 Szeryf (93,790 p.)

Wiesz, nie zdziw się jeśli po update wersji larwy przestanie ci działać masa rzeczy, bo autorowi sie ubzdurało zmienić nazwy interfejsów albo parametry ich.

Laravel wydaje się słodki, prosty i przyjemny - a w rzeczywistości obniży Twoje umiejętności, ugruntuje złe nawyki. Są ludzie, którzy gloryfikują te wszystkie fasady w nim, a prawda jest taka, że podejście do programowania obiektowego Taylora jest jakimś wizjonerskim bo jest zupełnie niezgodne z tym, czego uczą luddzie rzezywiście dobrze znający ten paradygmat.

Kompatybilność wsteczna – a właściwie jej brak – co wersja to trzeba migrować kod, bo nagle się coś zmienia z dupy. I wcale nie chodzi o zmianę wertsji np z 4 na 5, ale mówię o zmianach typu 5.0 na 5.1. Punkt powiązany z punktem pierwszym, czyli nieodpowiedzialnym zarządaniem. Koszmar, jak projekt ma żyć trochę więcej niż tydzień.

Ignorowanie przyjętego w IT nazewnictwa – (nie)słynne „fasady”, które ze „wzorcem fasada” mają niewiele wspólnego. Wprowadza to oczywiście w błąd doświadczonych programistów (którzy myślą, że będą pracować z fasadami, a potem przekonują się, że tak nie jest) oraz uczy nieprawidłowego nazewnictwa programistów początkujących.

Konkretny przykład na złamanie SOLID, w tym przypadku „D”, czyli „Dependency Inversion Principle”. Robisz klasę rejestrującą użytkownika. Zgodnie z zaleceniami Larwy w środku używasz `Mailer::send($message)` (czy tam podobnie). Twoja klasa jest tym samym uzależniona od konkretnej implementacji klasy `Mailer`. Nie od implementacji `send()` (jej działanie jest delegowane przez „fasadę Mailer” do implementacji, którą na szczęście można podmienić), ale od implementacji statycznego proxy, który dostarcza framework. Tym samym, jeśli piszesz zgodnie z zaleceniami Larwy, przywiązujesz swój kod ściśle do frameworka, utrudniając ewentualną migrację. Do tego oczywistą konsekwencją złamania reguły „DI” są ukryte zależności – kiedy inicjalizujesz swoją klasę nie wiesz, że wymaga ona istnienia i skonfigurowania klasy `Mailer`. Zależność ta ukryta jest gdzieś w kodzie Twojej klasy. Żeby zależność była jasna, powinieneś dostać obiekt `Mailer` w konstruktorze – wtedy jest jasne, że nie uruchomisz klasy bez `Mailer`a.

Używanie antywzorców jak ActiveRecord w Eloquent – powiązane z powyższymi punktami, czyli „gdzie jest SOLID”? Ale także powodowanei ścisłego uzależnienia kodu domenowego od infrastruktury (frameworka), wyciekanie abstrakcji.

 

https://www.facebook.com/groups/223889134481096/permalink/382650688604939/

https://www.reddit.com/r/PHP/comments/3bmclk/why_experienced_developers_consider_laravel_as_a/

 

komentarz 27 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
Wybrałem Laravela dlatego że chciałem się nauczyć jak wygląda praca z framerowrkiem, programowanie obiektowo. Z Symfony duzo rzeczy nie wiedziałem, a gdy zainstalowałem Laravela to o wiele łatwiej jest mi zrozmieć podstawy takiego programowania, myslę że po jednym projekcie zrefaktoryzuje go używając Symfony + TWIG.
komentarz 27 kwietnia 2016 przez event15 Szeryf (93,790 p.)

No to z Laravelem raczej się nie nauczysz obiektówki.

Jeśli szukasz frameworków to zainteresuj się:

  • Symfony
  • Slim
  • Silex
  • Phalcon

Jeśli chcesz zainteresować się abstrakcją dla baz danych, to ORM nie Active Record - więc warto postawić na Doctrine.

Slim i Silex to mikroframeworki, warto od nich zacząć jeśli chcesz się nauczyć obiektówki. Są dobrze napisane i dużo mniejsze od symfony.

Inna sprawa, że Symfony wcale jakieś takie trudne w nauce nie jest jeśli chcesz proste rzeczy robić (logowanie rejestracja itp)

komentarz 27 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
Ale jest łatwiej potem zrozumieć większość rzeczy w Symfony jak się popracuje z Laraverem, nie prawdaa?
komentarz 27 kwietnia 2016 przez event15 Szeryf (93,790 p.)
Czy ja wiem. Symfony jest zaprojektowane i działa inaczej niż Laravel. Albo ucz się zmiejsca Symfony, albo naokoło Slima. Larwą zrobisz sobie krzywdę. Oczywiście zakładam, że nie czytałeś tego co podesłałem w linkach bo byś się nie pytał w taki sposób...
1
komentarz 27 kwietnia 2016 przez efiku Szeryf (75,160 p.)

Podobne pytania

0 głosów
1 odpowiedź 317 wizyt
pytanie zadane 23 lipca 2016 w PHP przez mus Użytkownik (700 p.)
0 głosów
2 odpowiedzi 262 wizyt
pytanie zadane 27 lipca 2016 w PHP przez mus Użytkownik (700 p.)
0 głosów
1 odpowiedź 134 wizyt
pytanie zadane 26 lipca 2016 w PHP przez mus Użytkownik (700 p.)

92,543 zapytań

141,383 odpowiedzi

319,483 komentarzy

61,929 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...