Thread View: pl.comp.lang.php
48 messages
48 total messages
Started by Marek S
Fri, 30 Nov 2018 22:17
Laravel - jak to to działa?
Author: Marek S
Date: Fri, 30 Nov 2018 22:17
Date: Fri, 30 Nov 2018 22:17
12 lines
1308 bytes
1308 bytes
Witam Was, Mam kłopot z ogarnięciem frameworka. Mamy fasadę Request::get lub Request::post. Chciałbym dowiedzieć się jaki kod fizycznie się wykonuje w tym momencie. Wymiękłem w chwili gdy okazało się, że get i post to elementy tablicy - cholera wie gdzie inicjowanej. Czy ktoś z Was potrafi mi wyjaśnić, gdzie znajduje się kod kryjący się za fasadami? Pytam ogólnie - niekoniecznie odnośnie quasi metod get i post Request'a. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Sat, 01 Dec 2018 19:35
Date: Sat, 01 Dec 2018 19:35
40 lines
2205 bytes
2205 bytes
Dnia Fri, 30 Nov 2018 23:17:30 +0100, Marek S napisał(a):
> Mam kłopot z ogarnięciem frameworka. Mamy fasadę Request::get lub
> Request::post. Chciałbym dowiedzieć się jaki kod fizycznie się wykonuje
> w tym momencie. Wymiękłem w chwili gdy okazało się, że get i post to
> elementy tablicy - cholera wie gdzie inicjowanej. Czy ktoś z Was potrafi
> mi wyjaśnić, gdzie znajduje się kod kryjący się za fasadami? Pytam
> ogólnie - niekoniecznie odnośnie quasi metod get i post Request'a.
Fasada to tylko inny sposób dostępu do kontenera IoC. Czyli np. pisząc
DB::query() sięgasz do kontenera pod klucz zdefiniowany w pliku
Illuminate/Support/Facades/DB.php:
protected static function getFacadeAccessor()
{
return 'db';
}
co w efekcie jest równoważne:
app()->make('db')->query(...)
Zaś do GET/POST najprościej się dostać przez instancję obiektu klasy
Request automatycznie wstrzykiwaną przez podpowiadanie typów do metody
kontrolera obsługującego bieżącą akcję, czyli po prostu:
public function twojaAkcja(Request $request)
{
$zmiennaGet = $request->input('zmienna');
// ...
}
Oczywiście możesz też pisać Request::input() lub request()->input() czy po
prostu app()->make('request')->input() albo nawet
app()->make(\Illuminate\Http\Request::class)->input().
--
Borys Pogoreło
borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sun, 02 Dec 2018 21:51
Date: Sun, 02 Dec 2018 21:51
70 lines
3324 bytes
3324 bytes
W dniu 2018-12-01 o 20:35, Borys Pogoreło pisze:
> Fasada to tylko inny sposób dostępu do kontenera IoC. Czyli np. pisząc
> DB::query() sięgasz do kontenera pod klucz zdefiniowany w pliku
> Illuminate/Support/Facades/DB.php:
To ja wiem. Sęk w tym, że w Laravelu fasady są w zasadzie puste. Coś je
uzupełnia po uruchomieniu frameworka. Tak jest w przypadku wspomnianego
Requesta. Fasada zawiera inicjalnie pustą tablicę, którą wypełnia nie
wiadomo co. Gdy wołamy get(), to wywołuje się de facto odwołanie do
wewnętrznej tablicy z polem "get", które z kolei zawiera wskaźnik do
jakiejś metody. Z pewnością nią nie jest Request::get bo ... Request nie
zawiera niczego takiego. Zresztą, który Request, bo znalazłem ich więcej
niż 1?
Szukam konkretnie listingu metody get/post. Wymiękłem analizując ścieżkę
do ścieżki zawierającą ścieżkę.
> Zaś do GET/POST najprościej się dostać przez instancję obiektu klasy
> Request automatycznie wstrzykiwaną przez podpowiadanie typów do metody
> kontrolera obsługującego bieżącą akcję, czyli po prostu:
>
> public function twojaAkcja(Request $request)
> {
> $zmiennaGet = $request->input('zmienna');
> // ...
> }
Zupełnie nie o to mi chodziło lecz o źródło w/w metody.
A skoro wspominasz o tym, to również nie bardzo ogarniam takie
wstrzykiwanie. W/g mnie wstrzykiwaniem nazywa się proces w postaci:
$obiekt1=new CośTam();
$obiekt2->metoda($obiekt1);
gdzie
class Obiekt2 {
...
//$_cosTam to coś, co wstrzykujemy
public function metoda(CośTam $_cosTam) {
}
}
Tymczasem odwrotne podejście w postaci
$obiekt2->metoda(Co $co, Nam $nam, Ślina $ślina, Na $na, Język $język,
Przyniesie $przyniesie);
jest dla mnie również kompletnie niezrozumiałe. Sądziłem, że jakakolwiek
metoda gdziekolwiek powinna spodziewać się ściśle konkretnych
argumentów. Tymczasem okazuje się, ze z jakiś niejasnych względów zadziała:
$obiekt->twojaAkcja(Request $request)
jak i
$obiekt->twojaAkcja(URL $url)
Czyli wynika z tego, że w jakiś magiczny sposób powyższy $request będzie
przekazywał wartość new Request mimo iż nigdzie nie używam operatora
new. Tak PHP nie działa. Operator new sam się nie doda a mimo wszystko
to działa. O co chodzi?
--
Pozdrawiam,
Marek
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Mon, 03 Dec 2018 13:01
Date: Mon, 03 Dec 2018 13:01
27 lines
2037 bytes
2037 bytes
Dnia Sun, 2 Dec 2018 22:51:27 +0100, Marek S napisał(a): >> Fasada to tylko inny sposób dostępu do kontenera IoC. Czyli np. pisząc >> DB::query() sięgasz do kontenera pod klucz zdefiniowany w pliku >> Illuminate/Support/Facades/DB.php: > > To ja wiem. Sęk w tym, że w Laravelu fasady są w zasadzie puste. Coś je > uzupełnia po uruchomieniu frameworka. Przeczytaj jeszcze raz dokładnie to co napisałem. Masz metodę getFacadeAccessor(), która zwraca alias po którym obiekt jest pobierany z kontenera IoC. Jeśli chcesz znaleźć to "coś", to jest ono w metodzie Illuminate\Foundation\Application::registerCoreContainerAliases() > jest dla mnie również kompletnie niezrozumiałe. Sądziłem, że jakakolwiek > metoda gdziekolwiek powinna spodziewać się ściśle konkretnych > argumentów. Tymczasem okazuje się, ze z jakiś niejasnych względów zadziała: Jeśli przeczytasz dokumentację i opis "type hinting", to wszystko będzie jasne. Laravel używa Reflection by automatycznie podstawić obiekty z IoC na podstawie typów. Taka magia, całkiem wygodna. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Marek S
Date: Tue, 04 Dec 2018 19:55
Date: Tue, 04 Dec 2018 19:55
7 lines
1111 bytes
1111 bytes
Hej, Odpowiem niebawem - mam ograniczony czas. Temat jest ważny dla mnie. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Rafal Podsiadly
Date: Wed, 05 Dec 2018 20:41
Date: Wed, 05 Dec 2018 20:41
1 lines
1561 bytes
1561 bytes
@Marku czytałeś https://laravel.com/docs/5.7/facades ?
Re: Laravel - jak to to działa?
Author: Marek S
Date: Thu, 06 Dec 2018 21:43
Date: Thu, 06 Dec 2018 21:43
36 lines
2666 bytes
2666 bytes
W dniu 2018-12-05 o 21:41, Rafal Podsiadly pisze:
> @Marku czytałeś https://laravel.com/docs/5.7/facades ?
>
Tak, oczywiście. Napisałem, że poległem analizując realny kod. Dotarłem
do etapu kiedy fasada nie robi nic innego jak tylko zwraca string.
Bazując na przykładzie z dokumentacji jest to:
protected static function getFacadeAccessor() { return 'cache'; }
Ale string przecież nie wykona żadnej operacji cache'owania więc
funkcjonalność z Cache::get() z pewnością niczego tu nie wykona.
No to lecimy dalej. Ten string wędruje do Service Container'a. A co on
takiego robi? Zagląda do pokrótce tablicy (UserRepository) i wywołuje
find. Czyli znów tu kodu naszego Cache::get() nie znajdziemy.
Znów lećmy dalej. W tablicy models znajduje się wreszcie obiekt
reprezentujący wołaną metodę. Fajnie, ale tablica obiektów nie ma nic
wspólnego z kodem źródłowym klas tych obiektów. Więc znów jesteśmy w
czarnej d... Ale przynajmniej wiemy czego szukać.
Teraz trzeba zajrzeć od drugiej strony i znaleźć miejsce, w którym ta
tablica będzie wypełniana obiektami. Zapewne będzie trzeba rozpocząć
poszukiwania od index.php i schodzić coraz niżej.
W ten sposób cały wieczór będę szukał źródeł Cache::get albo Route::get
itd. Czytanie dokumentacji zero pomogło. To jest tylko ogólnikowe bla
bla bla. Do programowania wystarczy ale nie pozwoli na wgryzienie się w
źródło. Więc ponawiam pytanie z wątku otwierającego.
--
Pozdrawiam,
Marek
Re: Laravel - jak to to działa?
Author: Rafal Podsiadly
Date: Fri, 07 Dec 2018 05:50
Date: Fri, 07 Dec 2018 05:50
5 lines
1917 bytes
1917 bytes
https://stackoverflow.com/questions/4578335/creating-php-class-instance-with-a-string Klase mozna uyworzyc przechowujac jej nazwe w zmiennej. Czyli w efekcie return cache odwołuje sie do klasy cache ktora jest tworzona w momencie wywolania. Z tego co wyczytalem w php.net ten mechanizm jest przestarzaly i nie powinno sie go uzywac.
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Fri, 07 Dec 2018 08:24
Date: Fri, 07 Dec 2018 08:24
14 lines
1662 bytes
1662 bytes
On 2018-12-07, Rafal Podsiadly <spinacz24@gmail.com> wrote:
> https://stackoverflow.com/questions/4578335/creating-php-class-instance-with-a-string
>
> Klase mozna uyworzyc przechowujac jej nazwe w zmiennej. Czyli w efekcie return cache odwołuje sie do klasy cache ktora jest tworzona w momencie wywolania.
> Z tego co wyczytalem w php.net ten mechanizm jest przestarzaly i nie powinno sie go uzywac.
Po prostu lepiej do tego użyć ReflectionClass.
$class = new \ReflectionClass('Klasa');
$instance = $class->newInstance();
--
Wojciech Bańcer
wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Marek S
Date: Fri, 07 Dec 2018 23:01
Date: Fri, 07 Dec 2018 23:01
18 lines
2065 bytes
2065 bytes
W dniu 2018-12-07 o 06:50, Rafal Podsiadly pisze: > https://stackoverflow.com/questions/4578335/creating-php-class-instance-with-a-string > > Klase mozna uyworzyc przechowujac jej nazwe w zmiennej. Czyli w efekcie return cache odwołuje sie do klasy cache ktora jest tworzona w momencie wywolania. Ok, ale zupełnie nie o to mi chodziło w zapytaniu. Wydawało mi się iż pytanie jest klarowne. Pytałem się o to gdzie jest kod dla akcji Request::get lub jakiejkolwiek innej. Nie interesuje mnie fasada, która nic nie robi poza zajmowaniem czasu CPU lecz fizyczny kod PHP. Nie wiem w czym rzecz, że nie jestem zrozumiały w zapytaniu. Już dwie osoby skierowały mnie do zapoznania się z działaniem fasad w Laravelu zamiast do metodologii docierania do źródeł tego co fizycznie metoda X czy Y realizuje. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Rafal Podsiadly
Date: Sat, 08 Dec 2018 08:23
Date: Sat, 08 Dec 2018 08:23
21 lines
2618 bytes
2618 bytes
Zwracają uwagę na to co napisał @Borys zaglądam sobie da katalogu vendor\laravel\framework\src\Illuminate\Routing I tam mam kod dla całego routingu. vendor\laravel\framework\src\Illuminate\Routing\Route.php#894 Mam twój route::get W korzystaniu z frameroków chodzi o to, że by nie zastanawiać sie jak to działa a zaufać i pisać kod. separować to co jest powtarzalne dla wielu projektów do jednego miejsca i o tym zapomnieć Dlatego wspomiania fasada route jest zarejestowana w pliku config\app.php#221 Następnie uruchomianie fasady generuje kod wyzwolenia vendor\laravel\framework\src\Illuminate\Routing\Route.php i to zawsze się do tego obiektu odwołujesz. Dzięki takiemu zachowaniu mamy leniwe ładowanie (czyli tylko wtedy gdy zapytam) i oszczędzamy na miejscu bo ładujemy tylko to o co pytam. Dzięki temu inny jest zestaw metod (patrz w anotate) dla projektu uruchamianego z konsoli by go przetestować a inny zestaw metod dla projektu z http
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sat, 08 Dec 2018 18:29
Date: Sat, 08 Dec 2018 18:29
67 lines
3827 bytes
3827 bytes
W dniu 2018-12-08 o 09:23, Rafal Podsiadly pisze:
> Zwracają uwagę na to co napisał @Borys zaglądam sobie da katalogu
>
> vendor\laravel\framework\src\Illuminate\Routing
>
> I tam mam kod dla całego routingu.
>
> vendor\laravel\framework\src\Illuminate\Routing\Route.php#894
>
> Mam twój route::get
A czy zaglądałeś w ogóle do kodu? Tam nie ma metody get(). W najnowszej
wersji Laravela mam coś takiego:
public function __get($key)
{
return $this->parameter($key);
}
__get() to zupełnie coś innego niż get(). Jest to przecież magiczna
funkcja wywoływana gdy próbujemy odczytać nieistniejący komponent klasy,
co też właśnie czynimy pośrednio za pomocą Route::get(). Oczywiście
doszedłem do tego przekopując się przez zasieki frameworka.
W tejże metodzie znajduje się kolejne pośredniczące ogniwo łańcuszka
świętego Antoniego. __get wywołuje metodę parameter($key). Ta z kolei
korzysta z metody statycznej Arr:get, która znów coś tam robi zupełnie
nie związanego z moim pytaniem.
Wykonuje się w efekcie pierdylion różnych funkcji zawierających po
linijce kodu zanim wreszcie dotrzemy do właściwego obiektu. A poza tym,
przypomnę - nie obiekt mnie interesuje lecz jego kod źródłowy.
> W korzystaniu z frameroków chodzi o to, że by nie zastanawiać sie jak
> to działa a zaufać i pisać kod. separować to co jest powtarzalne dla
> wielu projektów do jednego miejsca i o tym zapomnieć
Ależ oczywiście masz rację, ale ja nie o to pytam. Napisałem zresztą w
poprzedniej wypowiedzi, że "do programowania ta wiedza wystarczy" ale ja
nie pytam się o to jak programować lecz o fizyczny kod np. Route::get.
De facto pytam o metodologię docierania do kodu źródłowego każdego
elementu frameworka.
> Dlatego wspomiania fasada route jest zarejestowana w pliku
> config\app.php#221
Ok, to rozumiem.
>
> Następnie uruchomianie fasady generuje kod wyzwolenia
> vendor\laravel\framework\src\Illuminate\Routing\Route.php i to zawsze
> się do tego obiektu odwołujesz.
To też rozumiem.
> Dzięki takiemu zachowaniu mamy leniwe ładowanie (czyli tylko wtedy
> gdy zapytam) i oszczędzamy na miejscu bo ładujemy tylko to o co
> pytam.
I to jest fajne - ale nie ma związku z pytaniem. Choć tu też korci mnie
zapytać o zupełnie coś innego, ale obawiam się, ze wtedy dyskusja na tym
się skupi i umknie moje pierwotne pytanie :-
--
Pozdrawiam,
Marek
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sat, 08 Dec 2018 19:27
Date: Sat, 08 Dec 2018 19:27
24 lines
2418 bytes
2418 bytes
On 2018-12-08, Marek S <precz@spamowi.com> wrote: [...] >> W korzystaniu z frameroków chodzi o to, że by nie zastanawiać sie jak >> to działa a zaufać i pisać kod. separować to co jest powtarzalne dla >> wielu projektów do jednego miejsca i o tym zapomnieć > > Ależ oczywiście masz rację, ale ja nie o to pytam. Napisałem zresztą w > poprzedniej wypowiedzi, że "do programowania ta wiedza wystarczy" ale ja > nie pytam się o to jak programować lecz o fizyczny kod np. Route::get. > De facto pytam o metodologię docierania do kodu źródłowego każdego > elementu frameworka. No najwięcej szans masz z dobrym edytorem, który ma dobre podpowiadanie. PhpStorm chyba ma https://plugins.jetbrains.com/plugin/7532-laravel-plugin taki plugin. Jeśli działa tak jak symfony, to jest szansa że dość dużo podpowie (ja niestety laravela nie używam), a jak będzie znał metodę, to i będziesz mógł do jej definicji trafić. Wszystkiego Ci nie podpowie, bo na 90% obiekty są zbierane z różnych komponentów, traitów, metod magicznych i co tam jeszcze. -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sat, 08 Dec 2018 20:53
Date: Sat, 08 Dec 2018 20:53
25 lines
2669 bytes
2669 bytes
W dniu 2018-12-08 o 20:27, Wojciech Bancer pisze: > No najwięcej szans masz z dobrym edytorem, który ma dobre podpowiadanie. > PhpStorm chyba ma https://plugins.jetbrains.com/plugin/7532-laravel-plugin taki plugin. Pracuję w tym właśnie edytorze i mam w/w plugin. On jest niewiele wart w powyższej kwestii. Rozwiązuje natomiast istotny problem. Ponieważ metody udostępniane przez Laravel są ściśle tajne (dla IDE), to plugin doinstalowuje niby fałszywą implementację tych metod (na poziomie helpera). Dzięki temu mam podpowiedzi parametrów itp. Dodatkowo w menu frameworków można sobie wtedy coś poustawiać dla Laravela. W żadnym razie nie uzyskasz informacji na temat źródła fl Route::get() > Jeśli działa tak jak symfony, to jest szansa że dość dużo podpowie (ja niestety laravela > nie używam), a jak będzie znał metodę, to i będziesz mógł do jej definicji trafić. > Wszystkiego Ci nie podpowie, bo na 90% obiekty są zbierane z różnych komponentów, > traitów, metod magicznych i co tam jeszcze. No więc właśnie. PHPStorm to zwykłe IDE. Jeśli producent frameworka zaszyfrował i założył zasieki na wścibskich, to jedyne co otrzymujesz, to podpowiedzi do interfejsu w trakcie programowania. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sat, 08 Dec 2018 21:03
Date: Sat, 08 Dec 2018 21:03
16 lines
2144 bytes
2144 bytes
W dniu 2018-12-08 o 09:23, Rafal Podsiadly pisze: > W korzystaniu z frameroków chodzi o to, że by nie zastanawiać sie jak to działa a zaufać i pisać kod. separować to co jest powtarzalne dla wielu projektów do jednego miejsca i o tym zapomnieć Tak naszła mnie właśnie myśl a'propos powyższego. Od czasu do czasu zarabiam na zleceniach pt. działało coś w jQuery (które też jest frameworkiem) a przestało bo wyszły np. nowsze przeglądarki. Zaufanie więc należy mieć mocno ograniczone. Co ja wtedy robię? Zastępuję niedziałającą jedną linijkę kodu jQuery jedną linijką kodu JS i nie wnikam dlaczego coś przestało działać bo ktoś kiedyś zaufał frameworkowi. Przypuszczam, że dlatego mam pracę bo dociekam, ślepo niczemu nie ufam i rozwiązuję fuckupy od ręki. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sat, 08 Dec 2018 21:27
Date: Sat, 08 Dec 2018 21:27
21 lines
2513 bytes
2513 bytes
On 2018-12-08, Marek S <precz@spamowi.com> wrote: [...] >> Jeśli działa tak jak symfony, to jest szansa że dość dużo podpowie (ja niestety laravela >> nie używam), a jak będzie znał metodę, to i będziesz mógł do jej definicji trafić. >> Wszystkiego Ci nie podpowie, bo na 90% obiekty są zbierane z różnych komponentów, >> traitów, metod magicznych i co tam jeszcze. > > No więc właśnie. PHPStorm to zwykłe IDE. Jeśli producent frameworka > zaszyfrował i założył zasieki na wścibskich, to jedyne co otrzymujesz, > to podpowiedzi do interfejsu w trakcie programowania. Tam zaraz zasieki. To jest po prostu troszkę bardziej "fancy" programowanie obiektowe. A trudno się to analizuje, bo jest efekt skali (duży framework). Niekoniecznie przejrzyste i przystępne, ale co zrobić. Jak Ci tak zależy, to sobie puść debuger step by step, to pewnie w końcu dojdziesz. -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sat, 08 Dec 2018 21:29
Date: Sat, 08 Dec 2018 21:29
20 lines
2363 bytes
2363 bytes
On 2018-12-08, Marek S <precz@spamowi.com> wrote: [...] > Tak naszła mnie właśnie myśl a'propos powyższego. Od czasu do czasu > zarabiam na zleceniach pt. działało coś w jQuery (które też jest > frameworkiem) a przestało bo wyszły np. nowsze przeglądarki. Zaufanie > więc należy mieć mocno ograniczone. Co ja wtedy robię? Zastępuję > niedziałającą jedną linijkę kodu jQuery jedną linijką kodu JS i nie > wnikam dlaczego coś przestało działać bo ktoś kiedyś zaufał > frameworkowi. Przypuszczam, że dlatego mam pracę bo dociekam, ślepo > niczemu nie ufam i rozwiązuję fuckupy od ręki. To ja już wolę zaufać frameworkowi niż randomowemu programiście, wrzucającemu linijki kodu gdzie popadnie, a po którym śladu dokumentacji nie ma i jak go np. trafi pociąg, to jest problem. :) -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sat, 08 Dec 2018 23:07
Date: Sat, 08 Dec 2018 23:07
14 lines
1906 bytes
1906 bytes
W dniu 2018-12-08 o 22:27, Wojciech Bancer pisze: > przejrzyste i przystępne, ale co zrobić. Jak Ci tak zależy, to sobie puść debuger > step by step, to pewnie w końcu dojdziesz. > Wątek napisałem po tym jak sobie zapuściłem go. Za dużo jest nic nie robiących funkcji do funkcji z funkcji dla funkcji. Liczyłem na to, że ktoś z Was Wie, gdzie Laravel ukrywa funkcjonalność i jest na to jakiś schemat. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sat, 08 Dec 2018 23:19
Date: Sat, 08 Dec 2018 23:19
26 lines
2679 bytes
2679 bytes
W dniu 2018-12-08 o 22:29, Wojciech Bancer pisze:
> To ja już wolę zaufać frameworkowi niż randomowemu programiście,
> wrzucającemu linijki kodu gdzie popadnie, a po którym śladu dokumentacji
> nie ma i jak go np. trafi pociąg, to jest problem. :)
Hehe... i to mnie cieszy szczerze mówiąc. To nie moje zdanie, gadając z
przełożonym, który mnie zatrudnił, podpytałem go o to jak wygląda rynek
pracowników i skąd ma takie problemy ze znalezieniem kogokolwiek. Otóż
zapanowała na rynku swego rodzaju patologia lub korzyść jednocześnie.
Ciężko to osądzać. Okazuje się obecnie, że nawet wieloletni programiści
(niezależnie od technologii, o jakiej rozmawiamy) wiedzą jak coś
zbudować we frameworku X czy Y lecz nie potrafią powiedzieć czym np.
jest sortowanie bąbelkowe. Bo framework tego nie ma więc nie istnieje
lub jakiś plugin to realizuje więc nie trzeba o niczym wiedzieć. To
konkretny przykład z rozmowy kwalifikacyjnej.
Bardzo dobrze ująłeś problem. Oczywiste jest, że odwołanie się po ID w
jQuery to $("id") a wykorzystanie JS w postaci
document.getElementById("id") to funkcja nieudokumentowana używana tylko
przez randomowych programistów. Mam pracę gdyż nie zgadzam się z tą
teorią :-)
--
Pozdrawiam,
Marek
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sun, 09 Dec 2018 10:10
Date: Sun, 09 Dec 2018 10:10
57 lines
4152 bytes
4152 bytes
On 2018-12-08, Marek S <precz@spamowi.com> wrote:
[...]
> Bardzo dobrze ująłeś problem. Oczywiste jest, że odwołanie się po ID w
> jQuery to $("id") a wykorzystanie JS w postaci
> document.getElementById("id") to funkcja nieudokumentowana używana tylko
> przez randomowych programistów. Mam pracę gdyż nie zgadzam się z tą
> teorią :-)
Ależ proszę Cię bardzo. Znalazłeś swoją niszę, w swoim grajdołku i jeśli
Ci to wystarcza, to ok.
Ja zaś mam zlecenia (bo nie mam pracodawcy), bo często okazuje się,
ze po mistrzach hackingu trzeba cały system przepisać od nowa, porządnie,
dodając testy, bo nikt inny poza wymienionym mistrzem hackingu nie wie
co tam w środku jest. A wspomniani mistrzowie przy pewnej złożoności
kodu sami przestają ogarniać i odchodzą.
W zakresie programowania webowego potrzebna wiedza jest diametralnie inna
niż "sortowanie bąbelkowe" i tutaj taką można przyswajać raczej w ramach
ciekawostek i historii programowania, bo jak już Ci przyjdzie sortować,
to zapewne użyjesz wbudowanej funkcji sort() i co najwyżej tylko ją zrobisz
customowo dodając jej obsługę w środku (decydującą czy a > b, czy nie),
pozostawiając algorytmikę silnikowi javascript (albo php).
W dzisiejszych czasach istotne jest by człowiek umiał dobrze przeszukiwać zbiory
informaji (google, stack overflow), umiał zadawać odpowiednie pytania (by otrzymać
odpowiednie wyniki) i umiał skorzystać z dostępnych narzędzi, żeby przyspieszyć
pracę, a nie wymyślał koło na nowo. Bo zanim te koło wymyślisz, to ktoś inny zdąży
pół auta zbudować. A za niedługo (jak odpowiednio rozbuduje się ML), to i to nie
będzie potrzebne.
getElementById('aa') to są takie podstawy, podstaw, że pewnie każdy programista
to zna [przynajmniej z mojej dziedziny], tylko nikomu by się nie przyszło
tym szczycić. A czy znasz zasady działania generatorów? Czym się różni
arrow function od zwykłej? Czy potrafisz powiedzieć jaki będzie wynik
poniższych linii kodu i dlaczego (bez uruchamiania oczywiście)?
---
setTimeout(() => console.log('setTimeout'));
Promise.resolve(1).then(() => console.log('promise resolve'));
console.log('hello!');
---
Albo wiesz co to jest currying?
Programowanie to jest tak rozległa dziedzina w której non stop pojawia
się coś nowego, że patrzenie z wyższością na innych tylko dlatego że
znasz "wybrany przez Ciebie" fragment podstaw, to trochę zarozumiałe
podejście. Dobrego programistę poznaje się po tym jak rozwiązuje problemy
i jak szuka informacji, a nie po tym jaką ma wiedzę w głowie. Bo tej
w głowie, to każdy będzie miał za mało.
--
Wojciech Bańcer
wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sun, 09 Dec 2018 10:19
Date: Sun, 09 Dec 2018 10:19
23 lines
2299 bytes
2299 bytes
On 2018-12-08, Marek S <precz@spamowi.com> wrote: [...] >> przejrzyste i przystępne, ale co zrobić. Jak Ci tak zależy, to sobie puść debuger >> step by step, to pewnie w końcu dojdziesz. > > Wątek napisałem po tym jak sobie zapuściłem go. Za dużo jest nic nie > robiących funkcji do funkcji z funkcji dla funkcji. Liczyłem na to, że > ktoś z Was Wie, gdzie Laravel ukrywa funkcjonalność i jest na to jakiś > schemat. No jest. Reflection Class, Traits i Dependency Injection. Tylko nikomu się nie chce analizować tego kodu bez wyraźnej potrzeby, bo taka wiedza specjalnie nic dużo nie daje. Można zauważyć, implementacja zmienia się czasem z wersji na wersję, ale póki działa (są testy), to po co uczyć się konkretnie tej jednej implementacji dla tej jednej wersji? -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Rafal Podsiadly
Date: Sun, 09 Dec 2018 16:36
Date: Sun, 09 Dec 2018 16:36
46 lines
4757 bytes
4757 bytes
W dniu niedziela, 9 grudnia 2018 00:19:42 UTC+1 użytkownik Marek S napisał:
> W dniu 2018-12-08 o 22:29, Wojciech Bancer pisze:
>
> > To ja już wolę zaufać frameworkowi niż randomowemu programiście,
> > wrzucającemu linijki kodu gdzie popadnie, a po którym śladu dokumentacji
> > nie ma i jak go np. trafi pociąg, to jest problem. :)
>
> Hehe... i to mnie cieszy szczerze mówiąc. To nie moje zdanie, gadając z
> przełożonym, który mnie zatrudnił, podpytałem go o to jak wygląda rynek
> pracowników i skąd ma takie problemy ze znalezieniem kogokolwiek. Otóż
> zapanowała na rynku swego rodzaju patologia lub korzyść jednocześnie.
> Ciężko to osądzać. Okazuje się obecnie, że nawet wieloletni programiści
> (niezależnie od technologii, o jakiej rozmawiamy) wiedzą jak coś
> zbudować we frameworku X czy Y lecz nie potrafią powiedzieć czym np.
> jest sortowanie bąbelkowe. Bo framework tego nie ma więc nie istnieje
> lub jakiś plugin to realizuje więc nie trzeba o niczym wiedzieć. To
> konkretny przykład z rozmowy kwalifikacyjnej.
>
> Bardzo dobrze ująłeś problem. Oczywiste jest, że odwołanie się po ID w
> jQuery to $("id") a wykorzystanie JS w postaci
> document.getElementById("id") to funkcja nieudokumentowana używana tylko
> przez randomowych programistów. Mam pracę gdyż nie zgadzam się z tą
> teorią :-)
>
> --
> Pozdrawiam,
> Marek
@Marku
Spróbuje podsumować, jednocześnie nie odwołując się do wszystkich wątków w szczegółach.
1. Larvel podczas budowania swojego środowiska wykorzystuje symfony wystarczy uruchomić kod composera z dokumentacji projektu
"composer create-project --prefer-dist laravel/laravel blog"
https://laravel.com/docs/5.7
I popatrzeć co ładuje / larvel w więkoszości przykrywa symfony czymś swoim. Ten projekt w dużej mierze wyglada jak nakładka na SYMFONY -> która jest opakowana w funkcje magiczne / tym samym można projekt sprzedawać... bo jest zaciemniony. *wersja komercyjna.
2. request .... hm ja bym spojrzął tutaj.
https://www.google.pl/search?q=laravel+request+image&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiSwbXfkpPfAhWJiywKHaAtD30Q_AUIDigB&biw=1536&bih=732#imgrc=cOARDrNOVDCHkM:
3. JS / podnoszenie bibliotek zawsze, ale to zawsze wymaga przeczytania (nie ważne jaka bibiloteka). dokumentacji. Co do jQuery powstała konkurencja http://vanilla-js.com/
PS: JS się na tyle rozwinął, że jQuery po mału staje się zbędny.
4. Co do Larver proponuje byś podłączył się pod projekt ludzi który rozwijają projekt na github https://github.com/laravel/laravel
Zgodzę się z toba podstaw są potrzebne bezwględnie... A hakerów to nie wiem jakich masz... dla mnie Haker to ktoś kto ma wiedzę (kodowanie i zna standardy) taki kod czyta się wspaniale. :) a psełdo hakerzy to cóż .. nie ma sensu poświećać soich cennych zasóbób jak mózg na rozijanie dyskusji.
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sun, 09 Dec 2018 17:02
Date: Sun, 09 Dec 2018 17:02
27 lines
2526 bytes
2526 bytes
On 2018-12-09, Rafal Podsiadly <spinacz24@gmail.com> wrote: [...] > Zgodzę się z toba podstaw są potrzebne bezwględnie... Ale inne są podstawy dla programisty C embedded, a inne dla programisty Web a inne dla programisty robiącego core bazy danych. Odpytywanie na rozmowie kwalifikacyjnej programisty web o sortowanie bąbelkowe ma tyle samo sensu co odpytywanie chociażby z budowy układu scalonego i bramek NAND, czy komend assemblera x86. Albo Pana Tadeusza. A języki wysokiego rzędu powstały po to by: a) obniżać poziom wymaganej wiedzy i umożliwić większej ilości osób zajmowanie się tym (bo mamy coraz większe zapotrzebowanie) b) umożliwić optymalniejszą pracę w zespołach c) umożliwić tworzenie projektów o większej złożoności kodu d) każdy język jest projektowany do rozwiązywania konkretnych problemów i zawiera pewne wsparcie dla rozwiązywania danych problemów. I dalszą tego konsekwencją [czyli potrzeby na jeszcze bardziej złożone aplikacje] są frameworki oparte o dobre praktyki. -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Rafal Podsiadly
Date: Sun, 09 Dec 2018 17:48
Date: Sun, 09 Dec 2018 17:48
34 lines
3644 bytes
3644 bytes
W dniu niedziela, 9 grudnia 2018 18:02:46 UTC+1 użytkownik Wojciech Bancer napisał: > On 2018-12-09, Rafal Podsiadly <spinacz24@gmail.com> wrote: > > [...] > > > Zgodzę się z toba podstaw są potrzebne bezwględnie... > > Ale inne są podstawy dla programisty C embedded, a inne dla programisty > Web a inne dla programisty robiącego core bazy danych. Odpytywanie > na rozmowie kwalifikacyjnej programisty web o sortowanie bąbelkowe > ma tyle samo sensu co odpytywanie chociażby z budowy układu scalonego > i bramek NAND, czy komend assemblera x86. Albo Pana Tadeusza. > > A języki wysokiego rzędu powstały po to by: > > a) obniżać poziom wymaganej wiedzy i umożliwić większej ilości osób zajmowanie > się tym (bo mamy coraz większe zapotrzebowanie) > b) umożliwić optymalniejszą pracę w zespołach > c) umożliwić tworzenie projektów o większej złożoności kodu > d) każdy język jest projektowany do rozwiązywania konkretnych problemów > i zawiera pewne wsparcie dla rozwiązywania danych problemów. > > I dalszą tego konsekwencją [czyli potrzeby na jeszcze bardziej złożone aplikacje] > są frameworki oparte o dobre praktyki. > > -- > Wojciech Bańcer > wojciech.bancer@gmail.com Mnie uczyli zarówno NAND jak i 3, 4, 5 notacji baz danych (podobno jest aż 8). Także baz obiektowych. Taka wiedza sie przydaje nawet w PHP. Podejrzewam, że sortowanie bezbelkowe też wszystko zależny od projektu. Nawet jak ktoś nie jest po studiach warto poznać / algorytmy sortowanie / notacje normalizacji baz danych. Dzięki temu może nie wydala się lepiej na rozmowie ale zdecydowanie pisze sie lepszy kod. https://eduinf.waw.pl/inf/alg/002_struct/0005.php często sobie tak rozpisuje warniki i je upraszam
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sun, 09 Dec 2018 20:24
Date: Sun, 09 Dec 2018 20:24
44 lines
3458 bytes
3458 bytes
On 2018-12-09, Rafal Podsiadly <spinacz24@gmail.com> wrote: [...] > Mnie uczyli zarówno NAND jak i 3, 4, 5 notacji baz danych > (podobno jest aż 8). Także baz obiektowych. Mnie też. O NANDach nawet w technikum, a w ramach projektu studenckiego zrobiłem Windowsowego klienta Gadu-Gadu zajmującego 8KB (bez ikonek) oraz samodzielnie zbudowałem spectrum wg schematu. Żadna z powyższych umiejętności nie jest i nigdy nie była mi *niezbędna* w życiu zawodowym. Dyplom ukończenia studiów też nie. I specjalnie też nie pomogły. > Taka wiedza sie przydaje nawet w PHP. Przydaje to się umiejętność googlowania wiedzy jak mam do czegoś siadać. > Nawet jak ktoś nie jest po studiach warto poznać / algorytmy > sortowanie / notacje normalizacji baz danych. Dzięki temu może nie wydala > się lepiej na rozmowie ale zdecydowanie pisze sie lepszy kod. Niespecjalnie się z tym zgodzę. Ostatnio (pół roku temu) robiłem rekrutację. Najlepszy kod napisała osoba która była prawnikiem i zdecydowała się na przekwalifikowanie na programistę. I zgłębiała wiedzę z kursów oraz robiła samodzielnie ćwiczenia we własnym zakresie. Nie ma przygotowania teoretycznego o którym mówisz, a mimo to zadania napisała najlepiej ze wszystkich. Oczyście jakbym zaczął pytać o algorytmy z tyłka, to by poległa. Każdy by poległ, bo nie ma czegoś takiego jak Niezbędna Wiedza Programisty i to co w algorytmice jest istotne dla jednego, dla innego może być kompletnie nieprzydatne. Więc nie ma co uogólniać i z góry zakładać poziom wynika z umiejętności wyrecytowania algorytmu z pamięci, czy też wykształcenia. -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Sun, 09 Dec 2018 21:43
Date: Sun, 09 Dec 2018 21:43
12 lines
1640 bytes
1640 bytes
Dnia Sat, 8 Dec 2018 20:27:56 +0100, Wojciech Bancer napisał(a): > No najwięcej szans masz z dobrym edytorem, który ma dobre podpowiadanie. > PhpStorm chyba ma https://plugins.jetbrains.com/plugin/7532-laravel-plugin taki plugin. Zamiast tego proponuję: composer require barryvdh/laravel-ide-helper -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Sun, 09 Dec 2018 21:49
Date: Sun, 09 Dec 2018 21:49
27 lines
2352 bytes
2352 bytes
Dnia Sat, 8 Dec 2018 19:29:01 +0100, Marek S napisał(a): >> Mam twój route::get > > A czy zaglądałeś w ogóle do kodu? Tam nie ma metody get(). W najnowszej > wersji Laravela mam coś takiego: > (...) Bo próbujesz się dokopać do czegoś, co nie istnieje tak naprawdę. Route::get() oznacza, że rejestrujesz routing dla metody GET. A framework, całkiem rozsądnie zresztą, nie definiuje tego na "twardo". Z tego co widzę, to klasa Route używa traita Macroable, więc gdzieś głębiej są definiowane makra dla metod HTTP i routingów "specjalnych" typu "any", "view", itd. Ale powtórzę za Rafałem - po co Ci ta wiedza? Jeśli nie zamierzasz głębiej się wgryzać w logikę frameworka albo przesłaniać niektórych klas, to jest to Ci kompletnie niepotrzebne. > I to jest fajne - ale nie ma związku z pytaniem. Choć tu też korci mnie > zapytać o zupełnie coś innego, ale obawiam się, ze wtedy dyskusja na tym > się skupi i umknie moje pierwotne pytanie :- Wal, najwyżej powtórzymy, że Ci to jest niepotrzebne ;) -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Sun, 09 Dec 2018 21:55
Date: Sun, 09 Dec 2018 21:55
18 lines
2253 bytes
2253 bytes
Dnia Sun, 9 Dec 2018 21:24:09 +0100, Wojciech Bancer napisał(a): > Nie ma przygotowania teoretycznego o którym mówisz, a mimo > to zadania napisała najlepiej ze wszystkich. Oczyście jakbym > zaczął pytać o algorytmy z tyłka, to by poległa. Każdy by > poległ, bo nie ma czegoś takiego jak Niezbędna Wiedza Programisty > i to co w algorytmice jest istotne dla jednego, dla innego może > być kompletnie nieprzydatne. Algorytmy - ok, to w większości przypadków załatwia język lub biblioteki. Ale wiedzy o strukturach danych IMO już można wymagać, bo to są konkretne narzędzia do rozwiązywania problemów. Tak z ciekawości - jakie zadania dawałeś? -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Sun, 09 Dec 2018 21:58
Date: Sun, 09 Dec 2018 21:58
18 lines
2034 bytes
2034 bytes
Dnia Sun, 9 Dec 2018 22:49:12 +0100, Borys Pogoreło napisał(a): > Bo próbujesz się dokopać do czegoś, co nie istnieje tak naprawdę. > Route::get() oznacza, że rejestrujesz routing dla metody GET. A framework, > całkiem rozsądnie zresztą, nie definiuje tego na "twardo". Z tego co widzę, > to klasa Route używa traita Macroable, więc gdzieś głębiej są definiowane > makra dla metod HTTP i routingów "specjalnych" typu "any", "view", itd. Ale jeśli już koniecznie chcesz wiedzieć, gdzie to jest definiowane: laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php:139 i dalej już sobie możesz klikać - addRoute(), createRoute(), RouteCollection::add(), itd. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Tomek
Date: Mon, 10 Dec 2018 09:08
Date: Mon, 10 Dec 2018 09:08
22 lines
2323 bytes
2323 bytes
W dniu 08.12.2018 o 00:01, Marek S pisze: > W dniu 2018-12-07 o 06:50, Rafal Podsiadly pisze: >> https://stackoverflow.com/questions/4578335/creating-php-class-instance-with-a-string >> >> >> Klase mozna uyworzyc przechowujac jej nazwe w zmiennej. Czyli w >> efekcie return cache odwołuje sie do klasy cache ktora jest tworzona w >> momencie wywolania. > > Ok, ale zupełnie nie o to mi chodziło w zapytaniu. Wydawało mi się iż > pytanie jest klarowne. Pytałem się o to gdzie jest kod dla akcji > Request::get lub jakiejkolwiek innej. Nie interesuje mnie fasada, która > nic nie robi poza zajmowaniem czasu CPU lecz fizyczny kod PHP. > > Nie wiem w czym rzecz, że nie jestem zrozumiały w zapytaniu. Już dwie > osoby skierowały mnie do zapoznania się z działaniem fasad w Laravelu > zamiast do metodologii docierania do źródeł tego co fizycznie metoda X > czy Y realizuje. > A "debug_backtrace" nie da odpowiedzi co po kolei wywołuje? Albo wyrzucić wyjątek i zobaczyć ścieżkę od środka na zewnątrz.
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Mon, 10 Dec 2018 19:49
Date: Mon, 10 Dec 2018 19:49
15 lines
1767 bytes
1767 bytes
On 2018-12-09, Borys Pogoreło <borys@pl.edu.leszno> wrote: [...] >> No najwięcej szans masz z dobrym edytorem, który ma dobre podpowiadanie. >> PhpStorm chyba ma https://plugins.jetbrains.com/plugin/7532-laravel-plugin taki plugin. > > Zamiast tego proponuję: > composer require barryvdh/laravel-ide-helper Ja od laravela to daleko stoję :) -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Mon, 10 Dec 2018 19:59
Date: Mon, 10 Dec 2018 19:59
29 lines
2774 bytes
2774 bytes
On 2018-12-09, Borys Pogoreło <borys@pl.edu.leszno> wrote: [...] >> poległ, bo nie ma czegoś takiego jak Niezbędna Wiedza Programisty >> i to co w algorytmice jest istotne dla jednego, dla innego może >> być kompletnie nieprzydatne. > > Algorytmy - ok, to w większości przypadków załatwia język lub biblioteki. > Ale wiedzy o strukturach danych IMO już można wymagać, bo to są konkretne > narzędzia do rozwiązywania problemów. > > Tak z ciekawości - jakie zadania dawałeś? Pytania były bardzo nastawione głównie pod to co używamy w projekcie w praktyce, np. jak zaprojektować efektywną walidację danych wejściowych (JSON), czy jak zakodować dane binarne w JSONie (w celu przesłania ich dalej), było też parę zadań, w których trzeba było zbudować komponenty w angularze i przeprocesować dane wejściowe by uzyskać żądany efekt. Oczywiście zadania do zrobienia w domu, a nie na kartce w salce biurowej, bo mnie przede wszystkim interesowało czy ktoś umie rozwiązać postawiony przed nim problem, a nie czy potrafi wyrecytować coś z pamięci. -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Mon, 10 Dec 2018 20:53
Date: Mon, 10 Dec 2018 20:53
23 lines
2343 bytes
2343 bytes
Dnia Mon, 10 Dec 2018 20:59:46 +0100, Wojciech Bancer napisał(a): > Pytania były bardzo nastawione głównie pod to co używamy w projekcie > w praktyce, np. jak zaprojektować efektywną walidację danych > wejściowych (JSON), Język dowolny czy JS? > czy jak zakodować dane binarne w JSONie > (w celu przesłania ich dalej), Z naciskiem na base64, czy jest lepsza metoda (o ile wymogiem jest JSON)? > Oczywiście zadania do zrobienia w domu, a nie na kartce w salce > biurowej, bo mnie przede wszystkim interesowało czy ktoś umie > rozwiązać postawiony przed nim problem, a nie czy potrafi > wyrecytować coś z pamięci. Albo skopiować ze SO ;) -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Mon, 10 Dec 2018 20:55
Date: Mon, 10 Dec 2018 20:55
15 lines
1773 bytes
1773 bytes
Dnia Mon, 10 Dec 2018 20:49:34 +0100, Wojciech Bancer napisał(a): >> Zamiast tego proponuję: >> composer require barryvdh/laravel-ide-helper > > Ja od laravela to daleko stoję :) A ja od Angulara ;) Ten pakiet jest o tyle fajny, że działa niezależnie od IDE, generując jawne powiązania między "magicznymi" odwołaniami w kodzie. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Mon, 10 Dec 2018 21:10
Date: Mon, 10 Dec 2018 21:10
33 lines
3049 bytes
3049 bytes
On 2018-12-10, Borys Pogoreło <borys@pl.edu.leszno> wrote: [...] >> Pytania były bardzo nastawione głównie pod to co używamy w projekcie >> w praktyce, np. jak zaprojektować efektywną walidację danych >> wejściowych (JSON), > Język dowolny czy JS? Akurat w tym wypadku JS (node). >> czy jak zakodować dane binarne w JSONie >> (w celu przesłania ich dalej), > Z naciskiem na base64, czy jest lepsza metoda (o ile wymogiem jest JSON)? Z naciskiem na base64. Umiejętność przydatna jak się chce przesłać np. binarkę przez API Gateway. I zaskakujące, ale nie każdy potrafił to zadanie dobrze zrobić. :) >> Oczywiście zadania do zrobienia w domu, a nie na kartce w salce >> biurowej, bo mnie przede wszystkim interesowało czy ktoś umie >> rozwiązać postawiony przed nim problem, a nie czy potrafi >> wyrecytować coś z pamięci. > > Albo skopiować ze SO ;) Jak skopiuje bezmyślnie i nie będzie potrafił zmodyfikować do potrzeb, to też coś takiego zobaczysz. Ale tak. Jak umie skopiować z SO i przez to szybciej rozwiazać problem, to czemu nie? -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Marek S
Date: Mon, 10 Dec 2018 21:48
Date: Mon, 10 Dec 2018 21:48
22 lines
2187 bytes
2187 bytes
W dniu 2018-12-09 o 22:58, Borys Pogoreło pisze: > Ale jeśli już koniecznie chcesz wiedzieć, gdzie to jest definiowane: > > laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php:139 > > i dalej już sobie możesz klikać - addRoute(), createRoute(), > RouteCollection::add(), itd. Hehe.. Właśnie zagłębiłem się dwa poziomy dalej. Zerknąłem najpierw w addRoute a potem w to co zwraca. Wszędzie jest 1 linia kodu z return na początku. Zdumiewa mnie iż za pomocą jednego statement'a "return" można napisać bardzo skomplikowane funkcjonalności. Żadne standardowe funkcje PHP nie są potrzebne. Żadne pętle i żadne warunki. Niepotrzebna wiedza. :-D Poddaję się - nie będę dociekał :-) -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Marek S
Date: Mon, 10 Dec 2018 22:02
Date: Mon, 10 Dec 2018 22:02
35 lines
2743 bytes
2743 bytes
W dniu 2018-12-09 o 17:36, Rafal Podsiadly pisze: > I popatrzeć co ładuje / larvel w więkoszości przykrywa symfony czymś > swoim. Ten projekt w dużej mierze wyglada jak nakładka na SYMFONY -> > która jest opakowana w funkcje magiczne / tym samym można projekt > sprzedawać... bo jest zaciemniony. *wersja komercyjna. Właśnie tak zaczynam ideologię fremeworka postrzegać. Więcej w nim komercji niż kodu. > 3. JS / podnoszenie bibliotek zawsze, ale to zawsze wymaga > przeczytania (nie ważne jaka bibiloteka). dokumentacji. Co do jQuery > powstała konkurencja http://vanilla-js.com/ Zgadza się. > > PS: JS się na tyle rozwinął, że jQuery po mału staje się zbędny. Więc właśnie to pośrednio zasygnalizowałem. Oczywiście nie tylko to. Np. obudowywanie poprzez jQuery czystej JS-funkcji nie poprawia niczego. > A hakerów to > nie wiem jakich masz... dla mnie Haker to ktoś kto ma wiedzę > (kodowanie i zna standardy) taki kod czyta się wspaniale. :) a psełdo > hakerzy to cóż .. nie ma sensu poświećać soich cennych zasóbób jak > mózg na rozijanie dyskusji. Z hakerami, to nie bardzo kojarzę do czego nawiązujesz? Nie mam żadnych hakerów. To nie moja branża. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Marek S
Date: Mon, 10 Dec 2018 22:07
Date: Mon, 10 Dec 2018 22:07
14 lines
1728 bytes
1728 bytes
W dniu 2018-12-10 o 10:08, Tomek pisze: > A "debug_backtrace" nie da odpowiedzi co po kolei wywołuje? > Albo wyrzucić wyjątek i zobaczyć ścieżkę od środka na zewnątrz. No to wyświetli mi, że w funkcji tablica["get"]() zdarzyło się coś. Tyle tylko, że trzeba potem szukać, co wstrzyknęło referencję do obiektu w tablica["get"]. Dowiem się jakie są linie w kodu wewnątrz ale nie skąd pochodzą. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Mon, 10 Dec 2018 22:54
Date: Mon, 10 Dec 2018 22:54
21 lines
2330 bytes
2330 bytes
Dnia Mon, 10 Dec 2018 22:10:40 +0100, Wojciech Bancer napisał(a): >> Język dowolny czy JS? > > Akurat w tym wypadku JS (node). npm install joi ;) >> Albo skopiować ze SO ;) > > Jak skopiuje bezmyślnie i nie będzie potrafił zmodyfikować do > potrzeb, to też coś takiego zobaczysz. Ale tak. Jak umie skopiować > z SO i przez to szybciej rozwiazać problem, to czemu nie? Skopiować to jedno, ale rozumieć co się kopiuje to zupełnie inna sprawa... Ale podejrzewam, że i tak robisz im sprawdzian z zaprezentowanego rozwiązania i każesz je opisać? -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Mon, 10 Dec 2018 22:56
Date: Mon, 10 Dec 2018 22:56
12 lines
1862 bytes
1862 bytes
Dnia Mon, 10 Dec 2018 22:48:42 +0100, Marek S napisał(a): > Zdumiewa mnie iż za pomocą jednego statement'a "return" można napisać > bardzo skomplikowane funkcjonalności. Żadne standardowe funkcje PHP nie > są potrzebne. Żadne pętle i żadne warunki. Niepotrzebna wiedza. :-D Nie rozumiem tych zarzutów. Masz za złe frameworkowi, że stosuje krótkie, czytelne i łatwo testowalne funkcje, które wykonują tylko jedną czynność? -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Tue, 11 Dec 2018 09:43
Date: Tue, 11 Dec 2018 09:43
42 lines
3558 bytes
3558 bytes
On 2018-12-10, Borys Pogoreło <borys@pl.edu.leszno> wrote: [...] >> Akurat w tym wypadku JS (node). > npm install joi ;) No i co dalej? Użyj i pokaż jak budujesz elastyczne struktury do walidacji konkretnego kodu, a ja oceniam czy to będzie sensownie zaimplementowane, jak to łatwo w przyszłości zmodyfikować wyodrębnić (o ile nie wyodrębnione od razu przez programistę itp. :) Chociaż ja bardziej jestem fanem jsonschema ew. ajv (inna implementacja), głównie przez to że ładnie można właśnie wyodrębnić definicje poprawnego kodu od implementacji. Ale za joi też dawałem punkty. Najmniej dostawały osoby które próbowały same wyrzeźbić, a z kodu wychodziło że jednak nie bardzo można to użyć, bo nie przewidziało konkretnych przypadków zmiany podanego w zadaniu wejścia. >>> Albo skopiować ze SO ;) >> >> Jak skopiuje bezmyślnie i nie będzie potrafił zmodyfikować do >> potrzeb, to też coś takiego zobaczysz. Ale tak. Jak umie skopiować >> z SO i przez to szybciej rozwiazać problem, to czemu nie? > > Skopiować to jedno, ale rozumieć co się kopiuje to zupełnie inna sprawa... A to już najczęściej widać w rozwiązaniu. Jak ktoś nie rozumie, to nie skopiuje dobrze. > Ale podejrzewam, że i tak robisz im sprawdzian z zaprezentowanego > rozwiązania i każesz je opisać? Jak człowiek rokuje [znaczy dobrze zrobił], to owszem, jest etap rozmowy o zrobionych zadaniach. -- Wojciech Bańcer wojciech.bancer@gmail.com
Re: Laravel - jak to to działa?
Author: Marek S
Date: Tue, 11 Dec 2018 22:33
Date: Tue, 11 Dec 2018 22:33
15 lines
2048 bytes
2048 bytes
W dniu 2018-12-10 o 23:56, Borys Pogoreło pisze: > > Nie rozumiem tych zarzutów. Masz za złe frameworkowi, że stosuje krótkie, > czytelne i łatwo testowalne funkcje, które wykonują tylko jedną czynność? Nie, nie mam za złe lecz zdumiewa mnie to, że nie trzeba używać żadnych innych keywordsów niż function i return by zrealizować dowolną funkcjonalność. :-D Innego kodu nie znalazłem, a szukałem długo. Zresztą sami mi również nie pokazaliście jakiejkolwiek innej funkcjonalności :-D -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Wed, 12 Dec 2018 13:33
Date: Wed, 12 Dec 2018 13:33
12 lines
1895 bytes
1895 bytes
Dnia Tue, 11 Dec 2018 23:33:59 +0100, Marek S napisał(a): > Innego kodu nie znalazłem, a szukałem długo. Zresztą sami mi również nie > pokazaliście jakiejkolwiek innej funkcjonalności :-D Bo ona jest rozproszona po całym fraweworku. Zacznij z nim dłużej pracować, to odkryjesz wiele gotowych narzędzi, które są dostępne i wymagają zaledwie kilku linii kodu, by z nich skorzystać. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Marek S
Date: Fri, 14 Dec 2018 21:04
Date: Fri, 14 Dec 2018 21:04
14 lines
2032 bytes
2032 bytes
W dniu 2018-12-12 o 14:33, Borys Pogoreło pisze: > > Bo ona jest rozproszona po całym fraweworku. Zacznij z nim dłużej pracować, > to odkryjesz wiele gotowych narzędzi, które są dostępne i wymagają zaledwie > kilku linii kodu, by z nich skorzystać. > Jasne, tyle tylko, że ja nie o tym pisałem. Docenianie frameworka to jedno (i doceniam go mimo raczkowania w temacie) a zaspokojenie ciekawości to inna rzecz. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Marek S
Date: Fri, 14 Dec 2018 21:08
Date: Fri, 14 Dec 2018 21:08
16 lines
2164 bytes
2164 bytes
W dniu 2018-12-14 o 22:04, Marek S pisze: > Jasne, tyle tylko, że ja nie o tym pisałem. Docenianie frameworka to > jedno (i doceniam go mimo raczkowania w temacie) a zaspokojenie > ciekawości to inna rzecz. P.S. W Yii nie ma takich problemów. Framework to prawdziwy kod. Nie ma czegoś takiego, że wywołanie czegokolwiek kończy się nieskończoną drabinką na stosie wywołań. M.in. z tego powodu dociekałem jakiejkolwiek funkcjonalności w Laravelu (w sensie że "return" to dla mnie nie jest funkcjonalność"). -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Borys Pogoreło
Date: Sun, 16 Dec 2018 11:24
Date: Sun, 16 Dec 2018 11:24
15 lines
2120 bytes
2120 bytes
Dnia Fri, 14 Dec 2018 22:08:50 +0100, Marek S napisał(a): > P.S. > W Yii nie ma takich problemów. Framework to prawdziwy kod. Nie ma czegoś > takiego, że wywołanie czegokolwiek kończy się nieskończoną drabinką na > stosie wywołań. Bo Laravel ma inną filozofię. W imię ułatwienia niektórych czynności zmuszony jest do uciekania się do sztuczek z rozwiązywaniem nazw i tym podobnych. Ale jak poszukasz w sieci porównań Yii vs. Laravel, to jeden z nich będzie zdecydowanym faworytem. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - jak to to działa?
Author: Marek S
Date: Sun, 16 Dec 2018 15:47
Date: Sun, 16 Dec 2018 15:47
15 lines
2328 bytes
2328 bytes
W dniu 2018-12-16 o 12:24, Borys Pogoreło pisze: > Bo Laravel ma inną filozofię. W imię ułatwienia niektórych czynności > zmuszony jest do uciekania się do sztuczek z rozwiązywaniem nazw i tym > podobnych. Ale jak poszukasz w sieci porównań Yii vs. Laravel, to jeden z > nich będzie zdecydowanym faworytem. Zgodnie z rynkowymi prognozami, jest i będzie nim Laravel. Yii mimo, że jest fajny, łatwy i posiada wiele rozszerzeń, będzie tracił popularność. Tak czy owak ma się to nijak do w/w kwestii. Odnoszę wrażenie, że próbuje imputować mi coś, czego nigdy nie powiedziałem. -- Pozdrawiam, Marek
Re: Laravel - jak to to działa?
Author: Wojciech Bancer
Date: Sun, 16 Dec 2018 16:01
Date: Sun, 16 Dec 2018 16:01
17 lines
2600 bytes
2600 bytes
On 2018-12-16, Marek S <precz@spamowi.com> wrote: > W dniu 2018-12-16 o 12:24, Borys Pogoreło pisze: > >> Bo Laravel ma inną filozofię. W imię ułatwienia niektórych czynności >> zmuszony jest do uciekania się do sztuczek z rozwiązywaniem nazw i tym >> podobnych. Ale jak poszukasz w sieci porównań Yii vs. Laravel, to jeden z >> nich będzie zdecydowanym faworytem. > > Zgodnie z rynkowymi prognozami, jest i będzie nim Laravel. Yii mimo, że > jest fajny, łatwy i posiada wiele rozszerzeń, będzie tracił popularność. Ta prostota, to już w pewnym sensie jest (na obecne czasy) prymitywna. Dlatego Yii traci na rzecz bardziej zaawansowanych frameworków. -- Wojciech Bańcer wojciech.bancer@gmail.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads