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

Kurs PHP - dla początkujących, za darmo, po polsku

+30 głosów
1,275 wizyt
pytanie zadane 24 kwietnia 2017 w Nasze projekty przez Arkadiusz Waluk Ekspert (250,610 p.)

(dla jasności – ten post nie ma nic wspólnego z pełnioną przeze mnie funkcją administratora forum)

Witam
Chciałbym zaprosić dzisiaj do mojego nowego projektu – PHPDevs! Jest to kurs języka PHP od podstaw, pisany przeze mnie. Dostępny za darmo, po polsku. Moim celem jest nauczenie programowania w PHP każdego chętnego, nawet z zerową wiedzą. Kurs jest ciągle w trakcie pisania. Prowadzony jest na najnowszej dostępnej wersji PHP (w chwili pisania tych słów 7.1), jednak tam gdzie zaszły ostatnio jakieś zmiany staram się to zaznaczać. Postaram się też regularnie aktualizować kurs wraz z kolejnymi nowościami.

Proszę was o ocenę. Głównie zależy mi na ocenie treści, czyli samej wiedzy przekazywanej w kursie. Jak podoba się taki styl pisania? Może jakieś błędy? Co należałoby zrobić inaczej? Oczywiście wszelkie inne sugestie też mile widziane – czy to co do wygody, wyglądu strony (grafik ze mnie kiepski), czy kodu. Liczę jednak, że ewentualne niedoskonałości przysłoni rzeczowo (tak się staram) przekazywana wiedza :) Zdaję sobie też sprawę, że jest tego sporo i pewnie mało kto oceniając przeczyta od razu całość, ale tak czy siak gdyby były jakieś sugestie to będę wdzięczny.

Link: www.phpdevs.pl
Profil na Facebooku: www.facebook.com/PHPDevs-152429121929176/
Twitter: twitter.com/phpdevspl
GitHub: github.com/PHPDevsPL (na razie są tutaj tylko przykładowe rozwiązania zadanych prostych ćwiczeń)
Kanał na IRC: freenode.net #phpdevs

 

Myślę, że na stronie wszystko już jest wyjaśnione, ale pozwolę sobie i tutaj krótko powiedzieć co i jak. Otóż od dłuższego czasu obserwuję, że nie ma w sieci dobrego kursu PHP. Wiele jest pytań o to skąd uczyć się tego języka, albo gdzie o czymś przeczytać. "Dobrego" oczywiście moim skromnym zdaniem – jest wiele materiałów, ale to są niekompletne, to już stare.

Jest oficjalna dokumentacja PHP (w zasadzie tylko po angielsku) gdzie jest wszystko opisane. Są też strony PHP The Right Way czy PHP Best Practices, ale to tylko zbiór najważniejszych porad i zasad (również po angielsku). Jest – tym razem po polsku – kurs, który tworzy dwóch kolegów z naszego forum – efik i event15 (i nawet ja miałem być w jakiś sposób zaangażowany do tego projektu). Coś jednak utknęło i kurs zakończył się (na chwilę obecną) na opisach kilku zagadnień. Nie chcę absolutnie kwestionować ważności angielskiego w programowaniu (o tym też jest w kursie), ale pomyślałem, że skoro coś już wiem to chętnie przekażę to innym, w moim zdaniem troszkę lepszej formie niż dokumentacja, i po polsku.

Mój kurs ma być wprowadzeniem od zera w kolejne zagadnienia według mojego pomysłu. Zaczynamy od samych podstaw, jak przygotowanie środowiska pracy i idziemy do coraz trudniejszych rzeczy, pisząc coraz bardziej zaawansowany kod. Chcę poruszyć też zagadnienia poboczne, których nie ma w samej dokumentacji PHP, na przykład: Git, Composer, standardy, obsługa edytorów/IDE i tak dalej. Oczywistym mam nadzieję jest, że w kursie wszystkiego poruszyć się nie da i wiedzę trzeba uzupełniać samemu, ale będę starał się przekazać jak najwięcej.

Osoby spostrzegawcze mogą dostrzec, że lekcje (czy wpisy w social mediach) datowane są na nawet już na kilka tygodni wcześniej i od tego czasu na stronie nie widać nawet żadnego komentarza. Wyjaśnię więc od razu, że kurs jest dopiero w trakcie pisania i z tego powodu wstrzymywałem się z jego publicznym rozpowszechnianiem. Chciałem przygotować trochę materiału i dopracować stronę. Sądzę jednak, że nastał już najwyższy czas na publikację.

 

Podoba się? Daj znać, obserwuj w mediach społecznościowych i udostępnij znajomym. Większy zasięg i zainteresowanie z pewnością będzie motywujące, a wszystko dopiero zaczyna się rozwijać i rozbudowywać. Nowa lekcja (czasem nawet dwie lub więcej) pojawia się co środę.
Z góry dziękuję za wszystkie opinie :) Pozdrawiam

2
komentarz 24 kwietnia 2017 przez Ivan Maniak (60,990 p.)

systemy for internetowych - PHP? Ale co to takiego? Co mogę w tym zrobić?

Dopełniacz lm "forum" to forów, nie for smiley

komentarz 24 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Och, dzięki, poprawione :)

8 odpowiedzi

+2 głosów
odpowiedź 27 kwietnia 2017 przez Vickul Stary wyjadacz (12,630 p.)
Świetnie Arku! Wreszcie coś konkretnego. Docenia ogrom pracy, jaki włożyłeś i jaki jeszcze włożysz. Zapowiada się super kurs.
komentarz 27 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Dzięki, mam nadzieję, że będzie się podobał ;)
1
komentarz 27 kwietnia 2017 przez Eryk Andrzejewski Mędrzec (159,400 p.)

Też mi się podoba kurs. Co prawda w PHP to ja nie siedzę, ale może kiedyś przyjdzie potrzeba lub chęć, to z niego skorzystam wink. Wiem, że pisze go ktoś, kto się zna i można mu zaufać.

komentarz 27 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Jak miło, dzięki Eryku :D

PS czekam na Twój kurs C++ ;)
komentarz 27 kwietnia 2017 przez Eryk Andrzejewski Mędrzec (159,400 p.)

Którego nie będzie, bo nie czuję się na tyle mądry, żeby taki napisać? wink

komentarz 27 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Ja też nie czuję się nie wiadomo jak mądry, ale myślę, że dam radę takowy kurs napisać i na razie - przynajmniej moim skromnym zdaniem - się udaje.

Szkoda, że Twojego nie będzie, ale może chociaż na coś o Linuxach się pokusisz ;)
+2 głosów
odpowiedź 28 kwietnia 2017 przez kap Stary wyjadacz (11,700 p.)
edycja 28 kwietnia 2017 przez kap

Stylistycznie ok, ale merytorycznie tak sobie. Kilka uwag na szybko:

a) Podstawy języka:

  • brak omówienia zasięgu zmiennych,
  • tablice - piszesz jakoby w PHP były dwa typy tablic - co jest bzdurą (powszechnie powtarzaną),
  • mógłbyś dodatkowo omówić przekazywanie przez wartość vs przez referencję, zmienne statyczne oraz variable variables,

b) funkcje:

  • brak omówienia zagnieżdżania funkcji,
  • ani słowa o rekurencji,
  • nazwy funkcji w przykładach są zaprzeczeniem dobrych praktyk ('operationAddition'??),
  • funkcje anonimowe (jedna z bardziej przydatnych rzeczy) potraktowane strasznie po macoszemu,
  • brak omówienia funkcji wyższego rzędu,
  • kompletne pominięcie tematu domknięć.

No i brakuje przekazania jakiejś bardziej przydatnej wiedzy - ten kurs to takie (wyrywkowe, uproszczone i niekiedy błędne) przepisanie dokumentacji + własne przykłady. Aż się prosi aby przy funkcjach opisać czym sa pure functions, jakie mają zalety, co to są efekty uboczne. Przy switchach, ifach i pętlach warto byłoby wypisać ich wady, pokazać alternatywy. Przy omawianiu zmiennych i operatorów warto byłoby poruszyć kwestię mutacji itd.

 

komentarz 29 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Okej, to inaczej. Jak ty byś zapisał to zdanie lub o podobnym sensie? Muszę w jakiś sposób przekazać, że są tablice asocjacyjne, a napisanie czegoś w stylu "Z pomocą przychodzą nam tablice asocjacyjne, ale pamiętajcie że nie są one innym rodzajem tablic" brzmi dość dziwnie.
2
komentarz 29 kwietnia 2017 przez kap Stary wyjadacz (11,700 p.)
edycja 30 kwietnia 2017 przez kap
W PHP tablice nie dzielą się na indeksowane i asocjacyjne - jest tylko jedna struktura danych nazwana po prostu arrayem - formalnie jest to uporządkowana mapa zawierająca pary klucz-wartość. Klucze mogą być integerami lub stringami (inne wartości zostaną w miarę możliwości scastowane). Jeśli nie podamy klucza to jest on nadawany automatycznie poprzez znalezienie najwększego numerycznego klucza i powiększenie go o 1. Jedna tablica może zawierać zarówno klucze numeryczne jak i tekstowe.
komentarz 30 kwietnia 2017 przez efiku Szeryf (75,020 p.)

The key can either be an integer or a string. The value can be of any type.

Additionally the following key casts will occur:

  • Strings containing valid integers will be cast to the integer type. E.g. the key "8" will actually be stored under 8. On the other hand "08" will not be cast, as it isn't a valid decimal integer.
  • Floats are also cast to integers, which means that the fractional part will be truncated. E.g. the key 8.7 will actually be stored under 8.
  • Bools are cast to integers, too, i.e. the key true will actually be stored under 1 and the key false under 0.
  • Null will be cast to the empty string, i.e. the key null will actually be stored under "".
  • Arrays and objectcan not be used as keys. Doing so will result in a warning: Illegal offset type.

If multiple elements in the array declaration use the same key, only the last one will be used as all others are overwritten.

źródło: php.net

 

komentarz 30 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Okej, pozmieniałem trochę, jeśli chcecie możecie zerknąć: https://www.phpdevs.pl/podstawy-jezyka/6-tablice#klucz-tekstowy

Mam nadzieję, że teraz brzmi to lepiej. Dziękuję @kap.
1
komentarz 5 maja 2017 przez kap Stary wyjadacz (11,700 p.)
Nie ma sprawy, jest lepiej ;)
+1 głos
odpowiedź 24 kwietnia 2017 przez liledusty Obywatel (1,430 p.)
Moim skromnym zdaniem stylistyka nie jest zła, jest czytelna. Będzie sql?
komentarz 24 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Zależało mi najbardziej na tym, aby było czytelnie i nie raziło jakimiś jasnymi kolorami - przypuszczalnie osoba czytająca kurs spędzi nad stroną sporo czasu.

A SQL na pewno się pojawi przy łączeniu z bazą danych (do tego jeszcze trochę, najpierw chcę wprowadzić obiektowość). Jak bardzo zaawansowane rzeczy będą dokładnie nie wiem, ale robię kurs PHP a nie SQL, więc można spodziewać się, że bardziej podstawy.
1
komentarz 24 kwietnia 2017 przez liledusty Obywatel (1,430 p.)
Rozumiem, dzięki za odpowiedź.
+1 głos
odpowiedź 27 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Wczoraj pojawiła się nowa lekcja omawiająca dołączanie plików (include/require).
https://www.phpdevs.pl/tablice-stringi-pliki-kolejny-projekt/3-dolaczanie-plikow

Zapraszam
+1 głos
odpowiedź 27 kwietnia 2017 przez andrut Użytkownik (870 p.)
Krótki rzut oka na parę elementów i już mi się podoba! Sam od pół roku raczkuję z PHP i od razu widzę, że masz dobre podejście dydaktyczne. Wyjaśniasz pewne podstawowe rzeczy, których inni nie raczą wyjaśnić.
Z utęsknieniem będę czekał na OOP PHP w Twoim wydaniu!
Jeśli tylko czas pozwoli, to trochę dokładniej przejrzę i podzielę się spostrzeżeniami.

Oby tak dalej... :)
komentarz 27 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Dziękuję :) OOP pojawi się już niedługo, także zapraszam do regularnego zerkania, z resztą może i tu na forum będę czasem dawał znać o nowych postach.
+1 głos
odpowiedź 28 kwietnia 2017 przez efiku Szeryf (75,020 p.)

a to temu nie chciałeś u nas skrobnąć wpisu o warunkach logicznych ;)

Spoko. Powodzenia. 

"Coś jednak utknęło i kurs zakończył się (na chwilę obecną) na opisach kilku zagadnień. "
 

Nie coś, tylko brak czasu spowodowany pracą. 

Ja jeszcze zawołam @event15. 

komentarz 28 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)

a to temu nie chciałeś u nas skrobnąć wpisu o warunkach logicznych ;)

Wcześniej sam nie miałem czasu, a później (nie tak dawno temu) pisałem Ci na IRCu że szykuję coś swojego w formie kursu, więc nie rozumiem zdziwienia :)

Spoko. Powodzenia. 

Dzięki. 

Nie coś, tylko brak czasu spowodowany pracą. 

Domyślam się że głównie brak czasu, ale nie chciałem pisać za was, dlatego napisałem po prostu "coś", bez tłumaczeń.

Ja jeszcze zawołam @event15. 

Szczerze mówiąc chętnie przeczytałbym jakąś merytoryczną ocenę od Ciebie czy eventa15.

1
komentarz 28 kwietnia 2017 przez efiku Szeryf (75,020 p.)
Widział,  ale również nie mamy czasu by odpisać merytorycznie. Zresztą widzisz bo postach na forum.

Cóż, to będę musiał z eventem przebudować kurs w coś innego, bo u nas jest tego mało. Na pewno zachowamy Biblioteczkę książek i to co opisaliśmy do teraz. Podstawy raczej opuścimy.
komentarz 28 kwietnia 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Szkoda, ale rozumiem, może innym razem. W zasadzie chętnie napisałbym to wszystko szybciej, ale też ciężko z czasem, dlatego leci po jednej lekcji na tydzień.

Ja właśnie celuje w podstawy i prowadzenie od zera, także może nawet nasze kursy w jakimś stopniu będą się uzupełniać, kto wie.
+1 głos
odpowiedź 3 maja 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
https://www.phpdevs.pl/tablice-stringi-pliki-kolejny-projekt/4-wyswietlanie-zadan-z-pliku

Kolejna lekcja, dziś głównie o JSONie i odczycie danych z pliku.

Przygotowuję też RSS dla strony, bo pojawiły się sugestie, że byłby to przydatny dodatek.
komentarz 3 maja 2017 przez spokojny Nałogowiec (28,690 p.)
Tam przy instalacji PHP w tym kursie powinno być jeszcze polecenie

sudo apt update

aby

apt show php

wykrył wersję PHP 7.1.  

U mnie na Linux Mint 18.1 i zainstalowaniu do Atoma wtyczki php-server nie działa podgląd na żywo, pojawia się tylko strona główna przeglądarki. Na Xubuntu działa. Mam zainstalowany w systemie PHP 7.1 i Nginx.
komentarz 3 maja 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)

https://www.phpdevs.pl/wstep-do-php/6-instalacja-php#linux

Mówisz o tym miejscu? Jest wspomniana konieczność aktualizacji listy pakietów po dodaniu repozytorium:

Możemy dodać własne repozytorium pakietów (PPA). Często aktualizowanym jest to PPA: https://launchpad.net/~ondrej/+archive/ubuntu/php. Dodajmy więc je do systemu (add-apt-repository z potwierdzeniem klawiszem Enter) i zaktualizujmy listę pakietów (apt update). 

Z tej wtyczki do Atoma niestety nie korzystałem, więc ciężko mi powiedzieć dlaczego nie działa. Z tego co zerknąłem w kod: https://github.com/leijou/php-server/blob/master/lib/php-server-server.coffee#L8 uruchamiany jest domyślny serwer wbudowany w PHP.

+1 głos
odpowiedź 21 maja 2017 przez Kerdi26 Użytkownik (510 p.)
Bardzo fajny kurs, obyś nie przestawał go robić.
komentarz 21 maja 2017 przez Arkadiusz Waluk Ekspert (250,610 p.)
Dziękuję, cieszę się.

Jak na razie nie zamierzam przestawać, motywacji i pozytywnych sygnałów mam sporo :)

Podobne pytania

0 głosów
2 odpowiedzi 91 wizyt
0 głosów
1 odpowiedź 173 wizyt
pytanie zadane 5 lutego w Inne języki przez Shape1 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 1,617 wizyt
pytanie zadane 14 października 2017 w C# i .NET przez niezalogowany
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

66,986 zapytań

113,891 odpowiedzi

241,347 komentarzy

46,943 pasjonatów

Przeglądających: 108
Pasjonatów: 1 Gości: 107

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...