Lekce 4 - Využití umělé inteligence při studiu programování Nové
V minulé lekci, Proměnné a typový systém v PHP, jsme si vysvětlili základy práce s proměnnými.
V tomto tutoriálu se naučíme využívat AI při studiu programování. Ukážeme si, jak pomocí umělé inteligence lépe pochopit složité koncepty a zrychlit řešení úkolů, na kterých běžně trávíme spoustu času.
Pozor: AI je dobrý pomocník, ale zlý pán! Tato lekce ti ukáže, jak ti AI najde chybu ve tvém kódu nebo jednoduché úlohy vyřeší zcela za tebe. Prvně ale musíš nad úlohou přemýšlet a zkoušet ji sám, než požádáš o pomoc AI. Nebudeš jinak schopný v zaměstnání řešit komplexnější úlohy, se kterými ti AI nepomůže, protože ji nemůžeš poslat celý firemní projekt. Ve svém vlastním zájmu používej AI jen jako pomocníka, když nevíš, jak dál, a již jsi vyplýtval všechny možnosti.
Využití AI při studiu programování
Učení se programování může být občas náročné. Budeme se setkávat se spoustou nových konceptů a nezvyklých problémů. Dnešní doba nám však poskytuje AI nástroje, které nám práci i studium velmi ulehčí. Stačí se je naučit správně používat. Nerozumíme nějakému tématu? ChatGPT nám danou problematiku na základě našich otázek znovu vysvětlí a pomůže nám si dané téma osvojit. Narazili jsme na problém v nějaké úloze? Nástroj Canvas ji s námi rozebere a v případě potřeby doporučí další postup, opraví chyby a podobně. Strávili jsme hodinu luštěním našeho kódu a nakonec jsme zjistili, že celý problém zapříčinila chybějící závorka? Nejsme první ani poslední – toto je skutečně více než běžné. Když si osvojíme používání AI nástrojů, bude řešení podobných problémů otázkou několika sekund.
AI je nápomocná v mnoha dalších oblastech. Jak ji správně využívat, se učíme v kurzech Umělá inteligence.
Potřebuješ poradit? ChatGPT ti pomůže rychleji než lektor
Skvělým parťákem, a to nejen při studiu, pro nás bude zejména ChatGPT. Srozumitelně nám vysvětlí složitější látku, prodiskutuje s námi náročnější koncepty a dokáže navrhnout i řešení technických problémů v našem počítači. Pro studenty našich rekvalifikačních kurzů jsou samozřejmě k dispozici konzultace s lektory.
Ve většině případů však můžeme náš problém či dotaz vyřešit pomocí ChatGPT mnohem rychleji a stejně efektivně jako s lektorem.
ChatGPT je k dispozici prostřednictvím mobilní aplikace nebo online na adrese chatgpt.com. V řešení problémů umí být opravdu vynalézavý a zeptat se ho můžeme prakticky na cokoli:

Při komunikaci s chatbotem se dozvíme spoustu zajímavých informací a pochopíme i složité koncepty, kterých je v programování mnoho:

Můžeme se například zeptat na látku, která nám není jasná a kterou bychom potřebovali dovysvětlit:
Vysvětli, k čemu slouží v PHP proměnná
$this
.
Odpověď od ChatGPT
V PHP slouží proměnná $this
k odkazování
na aktuální instanci objektu uvnitř třídy. Používá se
hlavně v kontextu objektově orientovaného programování
(OOP).
📌 Význam $this
v PHP
Proměnná $this
reprezentuje
aktuální objekt, tedy instanci třídy, ve které se právě
nacházíš. Umožňuje přístup k vlastnostem (atributům) a metodám daného
objektu zevnitř samotné třídy.
🛠 Použití $this
– příklad
class Auto { public $barva; public function nastavBarvu($novaBarva) { $this->barva = $novaBarva; } public function vypisBarvu() { echo "Barva auta je: " . $this->barva; } } $mojeAuto = new Auto(); $mojeAuto->nastavBarvu("červená"); $mojeAuto->vypisBarvu(); // Výstup: Barva auta je: červená
👉 V tomto příkladu:
nastavBarvu()
nastavuje hodnotu proměnné$barva
pro konkrétní objekt.- Pomocí
$this->barva
se metoda odkazuje na vlastnost aktuální instance objektuAuto
.
📖 Kdy použít $this
- Když chceš přistupovat k vlastnostem objektu
(
$this->vlastnost
) - Když chceš volat jiné metody objektu
(
$this->nejakaMetoda()
)
⚠️ Poznámka
$this
funguje pouze v rámci instance třídy – nelze ji použít ve statických metodách (tam se používá klíčové slovoself::
).- Např.:
public static function statickaMetoda() { // echo $this->barva; // Tohle by vyvolalo chybu! }
Pokud chceš, mohu ti ukázat i pokročilejší příklady, třeba s
dědičností nebo návratovou hodnotou $this
pro method
chaining. Chceš?
Dále se můžeme také zeptat na praktické využití určitého konceptu, například dědičnosti:
Vysvětli, co je dědičnost v PHP, k čemu se používá v praxi, a uveď jednoduchý příklad s kódem.
Odpověď od ChatGPT
Co je dědičnost v PHP
Dědičnost je jeden ze základních principů objektově orientovaného programování (OOP). Umožňuje jedné třídě (potomkovi) převzít vlastnosti a metody jiné třídy (rodiče). Díky dědičnosti můžeš znovu použít existující kód a rozšiřovat ho bez nutnosti přepisování.
K čemu se používá v praxi
Dědičnost se v praxi používá k:
- Znovupoužití kódu – aby nebylo nutné psát stejné funkce ve více třídách.
- Rozšíření funkcionality – potomci mohou přidávat nové metody nebo přepisovat ty zděděné.
- Zjednodušení údržby – změny ve společném rodiči se projeví ve všech potomcích.
- Tvorbě hierarchií – např.
Zvíře
→Pes
,Kočka
,Slon
.
Jednoduchý příklad v PHP
<?php // Rodičovská třída class Zvire { public $jmeno; public function __construct($jmeno) { $this->jmeno = $jmeno; } public function mluv() { echo "$this->jmeno vydává nějaký zvuk.\n"; } } // Potomkovská třída class Pes extends Zvire { public function mluv() { echo "$this->jmeno štěká: Haf haf!\n"; } } // Potomkovská třída class Kocka extends Zvire { public function mluv() { echo "$this->jmeno mňouká: Mňau!\n"; } } // Použití $rex = new Pes("Rex"); $rex->mluv(); // Výstup: Rex štěká: Haf haf! $micka = new Kocka("Micka"); $micka->mluv(); // Výstup: Micka mňouká: Mňau! ?>
Shrnutí
- Dědičnost umožňuje vytvářet obecnější a znovupoužitelný kód.
- PHP podporuje jednoduchou dědičnost (každá třída může dědit pouze z jedné jiné třídy).
- Pomocí klíčového slova
extends
vytvoříš potomka.
Pokud budeš chtít, mohu rozšířit příklad třeba o
abstract class
, parent::
nebo interface
.
Chceš se na něco z toho podívat?
Kvalita odpovědi závisí především na našem dotazu, tzv. promptu. Jak správně strukturovat prompt, se učíme v lekci Vytváříme efektivní prompty pro excelentní výstupy.
Nefunguje ti kód? Vyzkoušej nástroj ChatGPT Canvas
Při práci s ChatGPT lze využít rozšíření Canvas, které nabízí mimo jiné i rozhraní pro interaktivní práci s kódem. Na rozdíl od běžného chatovacího okna umožňuje organizovat odpovědi a návrhy kódu do bloků, což je ideální pro složitější úlohy, jako je návrh architektury aplikace nebo ladění rozsáhlejších projektů. Díky vizuálnímu uspořádání je možné lépe sledovat jednotlivé kroky návrhu, experimentovat s různými přístupy a snadno se vracet k předchozím verzím řešení. Nástroj spustíme tlačítkem Canvas v menu ChatGPT, které se nám otevře po kliknutí na tři tečky v chatovacím okně:

Nyní chatbotu předáme náš kód a začneme na něm pracovat:
<?php echo "Zadej své jméno: "; $jmeno = trim(fgets(STDIN)); if (strlen($jmeno) <= 3 && strlen($jmeno) >= 10) { echo "Normální jméno\n"; } else { echo "Máš moc krátké nebo moc dlouhé jméno!\n"; } ?>
Nástroj nám v kódu vyhledá a opraví chyby:

Při správně zadaném promptu můžeme v našem kódu jednoduše doplnit chybějící funkcionalitu:
Přidej do kódu validaci vstupu. Chci, aby nešlo zadat prázdné jméno.

AI nástroje dokážou výrazně pomoci při studiu programování – usnadňují pochopení obtížné látky a řešení náročných úloh. Po dohodě se zaměstnavatelem je lze uplatnit i v praxi, kde mohou šetřit čas a zvyšovat produktivitu. Proto je důležité se s nimi naučit efektivně pracovat a využívat jejich potenciál naplno.
V následujícím kvízu, Kvíz - Úvod do základů a proměnných v PHP, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.