Wpis z mikrobloga

@gromusek: ja się przesiadłem - częściowo, robiłem jako trochę backend, w pełni front - z django na laravela, w którym pracowałem dwa miesiące (wcześniej miałem styczność z PHP5 [NIE PHP7] na studiach).

Niby ten sam pattern, ale ile #!$%@?łem na laravela (i cudowny język jakim jest PHP7) to moje.
  • Odpowiedz
@aso824: no nie wiem, definiowanie pól jako lista? Definiowanie zależności między modelami w metodzie o nazwie takiej jak pole? To chore jest. I wiem, że nie wszystko w PHP da się zrobić tak jak w Django (brak metaklas czy fakt, że nie możesz umieścić kodu wykonywalnego w ciele klasy), ale już nawet Doctrine robi to lepiej...
  • Odpowiedz
via Wykop Mobilny (Android)
  • 3
@m_bielawski: nie, nie, nie... Fillable to jawna deklaracja że tylko takie pola mogą byc uzyte wraz z mass assignment (np. caly input z requesta do modelu), można użyć $protected żeby uzyskać odwrotne działanie (lub dac pusta tablice zeby wylaczyc to "zabezpieczenie"). Relacje miedzy modelami to funkcje o właściwie dowolnej nazwie, i nie jest to o nazwie pola tylko wg konwencji nazwy modelu do którego się odwołuje. Sa one wygodne do uzycia
  • Odpowiedz
@aso824: ok, może źle zinterpretowałem ten kod, ale IMO to tylko pokazuje, że jest niejasny póki nie znasz frameworka.

Relacje miedzy modelami to funkcje o właściwie dowolnej nazwie, i nie jest to o nazwie pola tylko wg konwencji nazwy modelu do którego się odwołuje.


No relacji, nie pola. Wiesz o co chodzi. Dlaczego to jest metoda obiektu? Dla mnie to nie ma sensu...

Gdzie się definiuje pola w takim razie?

@
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@m_bielawski: pól nie definiujesz, to dynamicznie leci (magic method). Relacje w takim wykonaniu to po prostu inne podejście. Laravel znany jest z tego że wiele rzeczy dzieje sie magiczne, niekoniecznie zgodnie ze wszystkimi standardami OOP jak np Symfony
  • Odpowiedz
@m_bielawski: kwestia przekonań i przyzwyczajeń, normalnie używa się paczki IDE helper która generuje odpowiednie komentarze na podstawie struktury bazy i IDE z nich korzysta, więc nie piszesz w ciemno
  • Odpowiedz