Objektové programování v PHP

48d7uwuolqbxv9d-v-trave-1458x1458.jpg

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 »

48d7uwuolqbxv9d-v-trave-1458x1458.jpg

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 »

2tjh6q2nnwp6jo7-oop-700x525.jpg

Kurz je individuální

Nevyhovuje ti vypsaný termín?

Nech nám svůj e-mail – dáme ti obratem vědět, jakmile lektor vypíše další nové termíny.

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.

špagety

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ýsledek

 

Víš, že Petr vede také tyto kurzy?

Víš, že Petr vede také tyto kurzy?

Odebírej náš newsletter

Posíláme tipy na nové kurzy, zajímavé a přínosné články. Informujeme o dění a vývoji projektu Naučmese.