Objektové programování v PHP
Petr 'PePa' Pavel
Přes dvacet let se živím jako programátor na volné noze, poslední roky navíc jako lektor / mentor / průvodce životem. Učím jednotlivce i ve firmě (např. Více o lektorovi »
Kurz je individuální
Poznámka k termínu
V Praze se můžeme sejít i osobně, bude to efektivnější.
Kdyby sis chtěl/a počkat na skupinový termín, dej mi vědět. Není problém ho vypsat tak, aby ti to vyhovovalo. Vyjde levněji, ale nebudu se ti moct tolik věnovat.
Pro koho
Lehce pokročilý začátečník - znáš dědění a přetěžování, obrázek tohoto kurzu chápeš.
Učebnicové příklady se zvířátky jsou fajn, akorát že moc nepomáhají používat OOP v praxi a správně. Neříkají nic o architektuře aplikací. Proto tenhle kurz.
Porušení principů správného dělení kódu budu ukazovat na špagetách, které později s komentářem refaktoruju.
O čem to bude
proč používat OOP
- dělení kódu podle odpovědnosti
- znovupoužitelnost
- výhody zapouzdřování
(lepší předvídatelnost chování, zřetelnější deklarace závislostí)
závislosti
- proč nepoužívat globální proměnné a jiné globální stavy
(statická volání, která odněkud cosi pohodlně přinesou) - dependency injection
- constructor hell
- composition over inheritance
(proč je lepší skládat než všechno házet do univerzálního předka)
úrovně abstrakce
- programování svrchu (od nejvyšší úrovně abstrakce)
- dělení kódu podle úrovní abstrakce
návrhové vzory
- value object
- služba
- továrna
- service locator
- repozitář
- MVC
kratičký workshop
Společně budeme chvíli prgat - přineste si nápad. Něco, k čemu nebudeme my ostatní muset pochopit zbytek vaší aplikace.
Není důležité, jestli na konci skončíme s něčím funkčním nebo ne - důležitý je proces, kterým projdeme. Takové párové programování ve skupině.
když zbyde čas
- interface
- trait
- namespace
- autoloading
- další vzory:
(query) builder, fluent interface
Co budeš potřebovat
Zoom nainstalovaný na počítači. Jde to sice i na mobilu, ale tam toho moc neuvidíš, budu sdílet obrazovku. I tobě by se mohlo hodit sdílet tvou, kdybys potřeboval ukázat kód. Zoom má údajně i možnost používat webového klienta, ale s omezenými možnostmi.
Alternativně použijeme Jitsi Meet a jako úplně poslední možnost živé vysílání na Facebooku. Tou dobou už budeš v uzavřené skupině, kam tě přidám po registraci na kurz.
Připoj se i audiem, ať se můžeš ptát. Vezmi si sluchátka, ať ostatní nemusí poslouchat sami sebe. Mikrofon stačí vestavěný v notebooku. Ptát se můžeš i přes společný chat, ale omezíš se tím na jednoduché otázky. Ostatní nebudou chtít čekat, než vysvětlíš kontext něčeho složitějšího.
Úplně nejradši budu, když se připojíš i videem, ať vidím, jestli vysvětluju srozumitelně. Někdo se zdráhá mi skočit do řeči a zeptat se (což je super, to chci), takže jsem rád, když lidi vidím. Uvidíme, jak to zvládneme, když je teď všechno přetížené.
Bude potom mejdan?
Dokud nepomine nouzový stav, tak bohužel ne. V naší Facebookové skupině ale zůstaneš v kontaktu s ostatními a ještě týden po kurzu budu k dispozici k drobnějším konzultacím.
Dočetl jsi až sem? Poznáš dvě chyby v kódu obrázku s kočičkami?
Also available in English, as long as all participants agree.
Víš, že Petr vede také tyto kurzy?
- Programování pro web (PHP/JS/SQL) - Individuální
- Unit testování v PHP - Individuální
- Profesionální ladění v PHP - Individuální
- Anglická konverzace na čerstvém vzduchu - Individuální
- Kucháme vnitřnosti webových stránek - Individuální
- Zbav se ostychu - vědomá práce s emocemi - Individuální
- Vím, co chci - workshop - Individuální
- Prokrastinace - Individuální
- Zbav se ostychu - cvičení - Individuální
- Snídaně o webech a lidech - Individuální
Náplň kurzu a osnova kurzu byly pěkně a přehledně připraveny. Kurz splnil očekávání pro mírně pokročilého začátečníka.
Místo plánovaných hodin kurz trval 4 hodinky bez jakéhokoliv nátlaku lektora na rychlé ukončení. Všechny otázky byly zodpovězeny a dostatečně vysvětleny.
Odpovídáš či reaguješ na tento komentář: