NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

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:

Prompt pro ChatGPT - Základní konstrukce jazyka PHP

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:

Odpověď ChatGPT na zadaný prompt - Základní konstrukce jazyka PHP

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 objektu Auto.

📖 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é slovo self::).
  • 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ířePes, 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ě:

Zapnutí Canvasu v ChatGPT - Základní konstrukce jazyka PHP

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:

Editace kódu v Canvasu - Základní konstrukce jazyka PHP

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.

Editace kódu v Canvasu – doplnění funkcionality - Základní konstrukce jazyka PHP

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í.


 

Předchozí článek
Proměnné a typový systém v PHP
Všechny články v sekci
Základní konstrukce jazyka PHP
Přeskočit článek
(nedoporučujeme)
Kvíz - Úvod do základů a proměnných v PHP
Článek pro vás napsal Adam Straňovský
Avatar
Uživatelské hodnocení:
25 hlasů
.
Aktivity