Dzińdybry.
Powoli szykuję się do migracji dość dużej aplikacji z Laravela 4.2 do najnowszego Laravela 5.3. Aplikacja jest sowicie rozwijana od 2,5 roku i działa produkcyjnie obsługując odsłony w okolicach 500K - 1MLN. Stąd też zapytania o bolesność procesu w praktyce, a raczej:
1. wasze uwagi, jeśli przez to przechodziliście
2. chociażby fragmentaryczna automatyzacja tego procesu i jak to wygląda w praktyce (piszę o choćby o https://laravelshift.com/ )

#php #laravel #webdev
@hoRacy: No to nie wiem czy to jest dobry pomysł przenosić appkę. Rzeczy które mogą niezadziałać jest miliard, różnica między L4.2 a L5.3 jest ogromna, tak że to trudno nazwać tym samym frameworkiem.

Ja bym zrobił tak - napisałbym dla projektu testy integracyjne polegające na testowaniu wszystkich rządań HTTP pokoli (każdy jeden route) i sprawdzał czy nie wywala błędu, jeśli są to rządania modyfikujące baze danych/cache to również sprawdzałbym czy te
Jak wczesniej narzedzie wewnetrzne nikt nie bedzie mial potrzeby tego sabotowac .


@TurboTapir: To jest błędne założenie. Zawsze traktuj użytkownika jako złodzieja, sabotażystę, trolla i debila.

Po pierwsze ktoś się może włamać do sieci wewnętrznej. Po drugie może być jakiś kąśliwy gość, który na wieść, że go wywalą, postanawia zrobić syf w firmie. Po trzecie możesz mieć błąd gdzieś indziej w aplikacji, który spowoduje tutaj problem. Po czwarte – głupota użytkowników
Z okazji wydania #vuejs 2 postanowiłem unowocześnić swój warsztat. Mam pytanie o autoryzację vue z backendem #php

1. Autoryzacja z JWT, tokenami.

2. zwykłe logowanie, przeładowanie strony i mamy gotową sesję

Za drugim rozwiązaniem przemawia prostota, za pierwszym uniwersalność kodu. Nie wydaje mi się bym potrzebował autoryzacji z innego klienta niż przeglądarka.

Jak Wy to robicie u siebie?

#webdev, nieśmiało dodam że backend PHP to #laravel 5.3, chcę natomiast mieć takie
@prezydent_wykopu: Najpierw dobrze się zapoznaj z tym jak działają sesje i tak samo dobrze (fundamentalnie) zapoznaj się z laravelem. W ciasteczku jest zapisywane session id, dzięki czemu w ogóle masz dostęp do tej swojej sesji, bo skąd niby Twoja appka (nieważne w jakim frameworku) ma wiedzieć którą sesję (to może być składowane także jako rekord w tabeli w bazie) ma odczytać?

Session cookie lifetime to nawet domyślnie w PHP jest ustawione
@breja: Przyznaję, że byłem dzieckiem WAMPa. Potem przeszedłem na vagrant, homestead. Wow, tak nowocześnie. Not. Wolne to to, niepraktyczne, #!$%@?, stawia się długo i jest do dupia, gdy developerke robisz sam/w malutim zespole.
Potem poznałem Laragon - czyli WAMP, który po prostu działa szybko, przyjemnie i idiotycznie prosto. Ma zupełnie wszystko i jeszcze więcej. Na raz kilka wersji PHP, APACHE, NGINX + konkretne ustawienia konfigów na dowolny z wirturalnych hostów. Kocham,
@Jojne_Zimmerman: Nie mnie oceniać.
Podchodziłem do nauki Angulara, szło jak po grudzie.
Ale w międzyczasie zobaczyłem VUE i w ramach nauki na pewnym projekcie appka typu CRM - ( kontakty, sprawy, tasklist ) powstała w tydzień. Całość z ładny czytelny routing, przejściami płynnymi, cache itp. Banalne w obsłudze. Jakieś sortowania kwestia kilku wyrazów i po prostu działa.

Z wersją 2.0 doszły rzeczy które musiałem samemu kombinować... Jeszcze przyjemniej się go używa.
Jakiś pomysł jak wyrównać czas wykonywania requestów rejestracji, gdy:
1. Użytkownik istnieje, email jest już zarezerwowany (wykonują się w 400ms).
2. Inne dane są błędne, przykładowo hasło jest nieprawidłowe (wykonują się w 250ms).

Mowa tutaj o #laravel. Chodzi mi głównie o wyeliminowanie enumeracji pojawiającej się przez możliwość sprawdzenia, czy dany e-mail został już zarejestrowany w serwisie.

#php #webdev #programowanie
jakby ktoś chciał sprwadzić wydajność ORM w różnych frameworkach/bibilotekach w #php to tutaj znajomy ze slacka zrobił forka swojego orm benchmarka https://github.com/zyxep/php-orm-benchmark zaktualizowane wersje, php7 itp #phalcon #webdev #symfony #doctrine #laravel #yii
https://github.com/zyxep/php-orm-benchmark/tree/master/docker pod tym adresem same wyniki jakby ktoś chciał sprawdzić jak to wygląda na najnowszych wersjach i php 7
w innych frameworkach też używają bez keszowania


@Jurigag: Nie za bardzo ogarniam inne, więc ciężko mi powiedzieć co tam robią źle. Gdzieś powinni też dorzucić?

ehhh, co ma cache do rzeczy jak pobierasz jeden rekord ? XD ten cache przyda się dopiero przy kolejnych zapytaniach


@Jurigag: Mówię o keszu metadanych. Doctrine parsuje komentarze przy encjach, co zżera czas. Oni to ujmują w benchmarku, gdzie w realnej applikacji nigdy to się
@8locx: proponuje po pierwsze olej towarzystwo wzajemnego lizania się po #!$%@? powyżej, po drugie:

Laravel jest czytelniejszy, prostszy do nauki, szybszy do pisania, wygodniejszy i bardziej "out of box" ale niestety nie przestrzega wszystkich zasad dobrego programowania, posiada pare koncencyjnie błędnych elementów i łatwiej w nim #!$%@?ć kod jeśli nie czuwasz nad tym. więc zależy od tego tak naprawdę co piszesz i po co chcesz się go uczyć. jeśli chcesz się
@MacDada:

Ale jako inteligentni ludzie i specjaliści w branży musicie się zniżać do takiego poziomu?

Ekhem. Laravel implementuje statyczne proxy. Generalnie jakiś gówno–misz–masz. Ciężko powiedzieć. Ale nie są to fasady. To, że pewien ignorant zdecydował się ten swój wymysł tak nazywać, nie znaczy, że teraz wszyscy wokół mają nagle stosować jego #!$%@?ą terminologię.

symphony to projekt, do którego można "fapować" pod wzgledem jakosci kodu jak i tez struktury, DI itp. Po
Mirki, to jest moje pierwsze #rozdajo, a w nim książka Laravel 4: Podstawy tworzenia aplikacji w PHP. Książka jest w stanie wręcz idealnym, bo otworzyłem ją zaledwie dwa razy, bo jakoś nie mogłem się przemóc żeby ogarnąć Laravela.

Oczywiście zielonki nie biorą udziału. Losowanie odbędzie się 9 września 2016 o 12:00.
Wysyłka oczywiście na mój koszt. Oddam ją w dobre ręce za darmo...


#webdev #php #laravel #programowanie #rozdajo
Pobierz danoxide - Mirki, to jest moje pierwsze #rozdajo, a w nim książka Laravel 4: Podstawy...
źródło: comment_wc403x2JatS73hoi4MYMt7cXY2CyxwB0.jpg
@cypispga:

Jeśli chodzi Ci o to że np. w jakiejś klasie robisz $this->costam = costam; to:
Tak. Klasa jak i ogólnie cała aplikacja jest tworzona na jedno rządanie a po tym jest niszczona, więc ustawienie jakiejś wartości w klasie spowoduje, że zostanie ona zapamiętana na jeden request.

Jeśli chodzi Ci o to, że zapisujesz wartość w sesji (session()->put( 'xxx' , 5 )) a w następnym rządaniu wartość jest inna to upewnij
Mam takowy problem, przykładowe zapytanie:

$posts = Posts::with(['comments' => function($query) use ( $search) {
$query->where('body',$search)
}])->get();

return Response::json($posts, 200);

Wyciąga mi wszystkie posty, i wyszukuje tylko te komentarze dla nich które w body posiadają szukany tekst, ale potrzebuje pozostawić tylko te posty dla których w komentarzu odszukano dane słowo

#laravel
@trustME: To był tylko przykład a obrabiam całość jeszcze w inny sposób i potrzebuje takiego rozwiązania, problem rozwiązany:

Post::with(['comments' => function ($query) use ($request) {
if ($request->search) {
$query->where('title', $request->search);
}
}])
->whereHas('comments', function ($query) use ($request) {
if ($request->search) {
$query->where('title', $request->search);
}
});
Twoja biblioteka to 2 klasy, bo więcej nie potrzebujesz? Stary, na jakim świecie Ty żyjesz, powinieneś to rozdzielić na 5 warstw abstrakcji i gdzie masz interfejsy i DI jak bym chciał którąś warstwę podmienić? Zrobiłeś aplikację, która jest nieco bardziej skomplikowana, fajnie działa? OMG, jest 2016, w czym Ty to zrobiłeś, trzeba było użyć Symfony i Doctrine, jak Ty robisz formularze, czemu nie używasz Twiga


@normanos: xDDDDDDDDD
Mirki! Ratuneczku! Potrzebuję podpowiedzi na temat wyszukiwania zdjęć po kolorach we frameworku Laravel 5.2 (język PHP).
Mianowicie, mam napisany system, w którym uploaduję zdjęcie na serwer oraz zapisuje jego dane do bazy danych mysql. Zapisuje się tam nazwa pliku, oraz 5 dominujących kolorów w danym zdjęciu (wybiera te kolory taki moduł jak Color Extractor stworzony pod Laravela). Kolory te zapisują się do bazy po przecinku np. #ffffff, #000000 itd. Nie jako
@matiit: Chyba już wiem o co kaman. W tym sensie to bardziej postrzegam problem jako pomieszanie pojęć command/request. Chociaż dla aplikacji działającej w event loop nazwa "command" ma znaczeniowo więcej sensu to według mnie wprowadza tylko zamieszanie (zwłaszcza w połączeniu z command pattern). Podejrzewam, że to mieszanie pojęć zaczęło się od tego, że na siłę wciśnięto ideę controllera do jednowątkowego php, który tak naprawdę okazał się potrzebny później, więc obecnie się
Czy pisze ktoś może testy jednostkowe w Laravelu? Tak jak już kiedyś pisałem - próbuję się tego nauczyć i szukam sobie po Internecie jakichś bardziej zaawansowanych przykładów. Może wiecie gdzie takie coś znajdę? Po prostu nie do końca rozumiem jakie elementy aplikacji testować i w jaki sposób. Chcę to wreszcie ogarnąć, bo przypał. Jeżeli macie swoje chociażby jakieś stare testy, byłbym ogromnie wdzięczny za pokazanie ich w prywatnej wiadomości, czy jakoś. Albo
wiele firm (i zresztą nie jeden programista) ma gdzieś te automatyczne testy

@daro1: niestety dokladnie tak jest. i np wchodze do jakiegos projektu, oczywiscie testow nie ma (mam wrazenie, ze w startupach pojecie testow w ogole nie istnieje) i kazda #!$%@?, ktora sie zajmuje, wymaga potem przetestowania na n sciezkach. najlepszy motyw jest taki, ze i tak w ostatecznosci musze napisac jakies testy (najczesciej func, bo zazwyczaj kod jest nietestowalny jednostkowo),