Jak ChatGPT pomoże Ci w PHP

Zapraszam do obejrzenia dedykowanego filmu na temat wykorzystania Chata GPT w nauce PHP i Laravela.

Dla zainteresowanych, transkrypcja z filmu poniżej:

[00:00:00.420]
Cześć! Witam Cię w odcinku poświęconym nauce Laravela przy wsparciu czata GPT. A samego czata GPT nie potrzebuję Ci przedstawiać w tym momencie, bo jest to ostatnio tak popularne narzędzie i na tyle jest o nim głośno w internetach, że prawdopodobnie nie ma sensu, żebym się tutaj za bardzo rozwodził nad samym narzędziem. Jeśli jeszcze go nie znasz. Jest to pierwszy, można powiedzieć czat bot, który w miarę rozumie to co do niego piszesz i daje dość sensowne odpowiedzi. Także wykorzystajmy go teraz właśnie do nauki Laravel a. A można to zrobić na zaskakująco dobrym poziomie. Co zaraz myślę w tym filmie przedstawię także nie przedłużając zapraszam do dalszej części. OK, to znajdujemy się właśnie na stronie czat kropka open aji kropka. COM. Tutaj po zalogowaniu się dostajesz taki ekran startowy. No i mimo, że cały interfejs jest po angielsku, oczywiście z czatem GPT możesz rozmawiać po polsku. I tak na rozgrzewkę zapytajmy go po prostu czym jest Laravel. Jak nie będę tego czytał słowo w słowo. Natomiast jest to bardzo fajny, rzeczowy opis frameworka Laravel.

[00:01:24.620]
Natomiast jeżeli chciałbyś to przedstawić np. swojemu szefowi, żeby udokumentować i udowodnić po co Ci tak naprawdę nauka Laravel a i czym ten Laravel jest to możesz poprosić czata GPT np. w ten sposób. Napisz mi to krócej i bardziej zrozumiałym językiem jak dla dziecka. No to do diety trochę pojechał. Natomiast myślę, że opis dla dziecka może być. Niemniej jednak można się tu naprawdę pobawić i zadać mu przeróżne zadania i ocenić skuteczność czy sensowność tej wypowiedzi. Niemniej jednak jak wykorzystać tego czata czy pety do nauki? Weźmy sobie np.. Podaj mi przykład kodu Laravel a. Wyświetlającego użytkowników z bazy danych. Dobra, zobaczmy co nam tutaj ten czat Dżibuti utworzył. Na początek stworzenie modeli modelu USER to jak najbardziej słuszne zabieg. Następnie mamy przykład jak ten model user może wyglądać i tak naprawdę na nasze potrzeby ten File blog w tym miejscu nie jest jakiś super potrzebny, aczkolwiek do tworzenia przyszłych modeli pewnie nam się przyda. Do samego wyświetlenia jest to zbędne, aczkolwiek nie jest to błędem. Później mamy w pliku web php mamy napisany dodatkowy routing get. I to jest jak najbardziej ok.

[00:03:17.950]
Natomiast pobieranie userów bezpośrednio w routingu i przekazywanie ich tutaj też nie jest najlepszą praktyką. Dużo lepiej byłoby zrobić kontroler i wyświetlenie już bezpośrednio na widoku stworzonym jako Users blade php. Tu nie mam zastrzeżeń. Natomiast mogę poprosić czata pt. Napisz mi to samo, ale dodaj kontroler. Myślę, że wystarczy zrozumie o co chodzi. OK. Stworzył ją kontroler. I tutaj pobieramy sobie users i wracamy do widoku users i teraz bezpośrednio w pliku web php zwracamy konkretną metodę z kontrolera Users Kontroler. No i tu już jakby końcówka dokładnie taka sama, to się zgadza. OK, to było dość proste zadanie. Zresztą takich przykładów w sieci będzie pewnie cała masa, dlatego pokuszę się o coś bardziej zaawansowanego. Na przykład potrzebuję wyświetlić pogrubioną nazwę. Użytkownika. Użytkownik albo username. Posiada tagi html. Jak mogę je zinterpretować na wynikowym widoku? Czyli generalnie posiadamy w środku już username, jakieś tagi html i chcielibyśmy je wyświetlić. Natomiast normalnie tak jak do tej pory było nie jesteśmy w stanie wyświetlić tych tagów, inaczej jesteśmy w stanie je po prostu wyświetlić jako zwykłe napisy, a nie jesteśmy w stanie pokazać np.

[00:05:46.440]
tego pogrubienia w formie faktycznego pogrubienia, tylko napisał by nam się napis strong czy be itd. Natomiast tutaj Laravel bardzo fajnie wychwycił, że możemy skorzystać z podwójnych wykrzykników, czyli mamy nawias klamrowych, wykrzyknik, wykrzyknik. No i teraz to my jako właściciele oprogramowania czy twórcy oprogramowania musimy zadbać o to, żeby tam nie było żadnych niebezpiecznych znaków niebezpiecznych z punktu widzenia cross scripting. Te dane muszą być bezpieczne, żeby je w ten sposób wyświetlać, żebyśmy nie narazili przez przypadek na przykład naszego finalnego odbiorcy. Niemniej jednak, jeżeli posiadamy w username tagi HTML owe, które chcielibyśmy wyświetlić, to właśnie w ten sposób jesteśmy w stanie to zrobić. No dobrze, fajnie. No to pójdźmy dalej. Co on jeszcze nam tu może pomóc? Na przykład potrzebuję wyświetlić listę porządkową, a właściwie nie listę, tylko liczbę porządkową. Przy użytkownikach. Jak mogę to zrobić najprościej? No i super czad. GPS doskonale zrozumiał o co mi chodzi, czym jest ta liczba porządkowa, jak to przerzucić na lub interaction? Bo w Laravel mamy coś takiego co się nazywa zmienna lub i np.

[00:07:22.900]
ona oprócz tego, że może wyświetlić który to jest numer przebiegu danej pętli to może np. też wskazać czy to jest wiersz parzysty nieparzyste. Wtedy możemy np. pokolorować inaczej te wiersze itd. Niemniej jednak tutaj super duży plus dla czata pt., że po pierwsze zrozumiał o co mi chodzi, a po drugie nawet zwrócił bardzo sensowne rozwiązanie. Faktycznie, chyba prościej niż wyświetlić numer iteracji, to nie dałbym rady wymyślić innego rozwiązania, właśnie powiązanego z liczbą porządkową. No dobra, zobaczmy coś trochę trudniejszego np.. Podaj mi przykład kodu, który za kolejkę i i maila. OK. Pierwszy punkt jak najbardziej się zgadza. Bez skonfigurowania naszego Milera i tak nic nie wyślemy, więc trzeba zająć się skonfigurowaniu czy to serwera SMTP czy dowolnego innego serwisu, który będzie te maile wysyłał. No troszkę ucięło. On czasami ma limit znaków, które można wygenerować i wyświetlić. Niemniej jednak zobaczmy co tutaj się dzieje od punktu drugiego. Więc zaczynamy od utworzenia kontrolera kolejkowania, czyli szczegółu i maila. Następnie kolejkę metodą Q i zwracamy odpowiedź czy została kolejkowania. Super! Następnie tutaj możemy stworzyć klasę email, która będzie rozszerzać maile, bo to jest jak najbardziej w porządku.

[00:09:12.190]
No i dodajemy subject wiadomości i szczegóły. I tutaj z widokiem email sample. Więc potrzebujemy stworzyć widok email example, który będzie wyglądał dokładnie w ten sposób. No i na końcu wywołujemy metodę email właściwe URL a email, który pod spodem wywoła metodę tego konkretnego kontrolera. Dobra, no to mamy kolejkowanie, a możemy go zapytać. OK, to za kolekcje daliśmy. Zrobiłem powyższy przykład i email się nie wysyła. Co zrobić? Myślę, że sześć takich dość logicznych punktów na zasadzie jak poszukać problemu w tym, że mój e-mail się nie wysyła. Czyli możemy zacząć od sprawdzenia konfiguracji połączenia z internetem. To już jest taki standard. Natomiast zablokowane porty SMTP firewall sprawdzić przy pomocy DD, czyli daj dump co tam się konkretnie kryje w danej mojej zmiennej w PHP. Czy maile nie trafiają do spamu? Bo czasami może się okazać, że jednak te maile się wysyłają, ale od razu lądują w spamie. Szczególnie przy poprawnej konfiguracji danej domeny. No i też samo kolejkowanie może mieć problem. Ja bym tutaj się pokusił np. o. Rozwiń punkt 6.

[00:10:54.450]
Nie rozumiem o co chodzi. No i mamy już bardzo konkretną odpowiedź. Czyli wchodzimy do config slash. PHP i w zależności od tego jakiego modelu kolejowego chcielibyśmy użyć to taką konfigurację ustawiamy. Następnie używamy funkcji Q zamiast send to to a faktycznie użyliśmy w naszym kodzie. No i w tym momencie tu jest przykład, że email zostanie dodany do kolejki. Natomiast tu jest chyba najważniejszy, że tak powiem pies pogrzebany. Czyli w momencie kiedy my nie uruchomimy tej kolejki, no to to, że maile będą trafiać do kolejki to nic nie da, bo ta kolejka nic z tym dalej nie zrobi. O to chodzi, żeby kolejka sobie szła w swoim równoległym procesie i te maile wysyłała w miarę możliwości w miarę dostępnych zasobów. No i tutaj właśnie ten PHP Artisan Work. Do tego właśnie ma służyć. Dobra, wiadomo, tutaj tych tematów czy tych pytań możemy wymyślać sobie miliony i myślę, że na każde z nich Laravel, Laravel i Bety będzie znał lepszą lub gorszą odpowiedź. Niemniej jednak masz teraz plus minus rozeznanie z czym to tak naprawdę się je.

[00:12:29.370]
I jak widzisz, to nie jest tylko sztuczna inteligencja, która próbuje zniszczyć ludzkość. Tak samo nie jest to narzędzie do generowania wierszy i bajek, chociaż też jest. Ale nie tylko. Tylko faktycznie może się stać Twoim wręcz personalnym asystentem, doradcą, a takim korepetytorem, który jest w stanie, jeżeli nie masz pod ręką np. mojej osoby czy kogokolwiek innego, kto mógłby Ci pomóc od ręki, to taki czat czy PT jest w stanie zrobić. Można powiedzieć 95% roboty z podstawowymi zagadnieniami, z czymś co nie działa. Jesteś w stanie wkleić tu kod? Jesteś w stanie zobaczyć co tak naprawdę Ci podpowie? A wbrew pozorom podpowiada całkiem sensownie. Także dzięki za dzisiaj. Widzimy się w następnym odcinku. A tymczasem zachęcam Cię do założenia konta i próbowania pod kątem rzeczy, które Ci działają, które Ci nie działają, które chciałeś zrobić czy chciałaś, ale np. się nie udało, nie znalazłeś dokumentacji, nie znalazłeś przykładów jak coś takiego zrobić, to spróbuj zadać chatowi GPT takie zadanie. Na przykład napisz mi przykład galerii zdjęć wyświetlanej w widoku Laravel Blade, no i zobaczysz jaką odpowiedź dostaniesz.

[00:14:02.970]
Tymczasem bardzo Ci dziękuję. Trzymaj się. Cześć!