NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.

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

Claude Artifacts

Chatbotů, jako je ChatGPT, je k dispozici více. Mezi další oblíbené patří Claude. Podobně jako ChatGPT ho můžeme využít jako pomocníka při následujících úkonech:

  • programování – generování a oprava kódu, návrhy algoritmů, vysvětlení složitých konceptů,
  • psaní a editace textu – pomoc s tvorbou dokumentů, článků nebo e-mailů,
  • analýza a shrnutí informací – rychlé zpracování velkého množství textu a jeho převedení do stručné a srozumitelné podoby,
  • asistence při rozhodování – pomoc s logickým myšlením, plánováním projektů a brainstormingem.

Princip používání je podobný jako u ChatGPT:

Ukázkový prompt Claude - Základní konstrukce jazyka PHP

Artifacts jsou potom speciální výstupy, které Claude generuje odděleně od hlavního chatu, aby byly přehledné a snadno dostupné. Nejedná se o plnohodnotný editor, ale spíše o způsob, jak strukturovaně uchovat kód, dokumenty nebo vizualizace bez ztráty v dlouhém průběhu konverzace. Když si například necháme vygenerovat kód, Claude ho automaticky uloží jako Artifact. Můžeme ho pak kdykoli otevřít, sdílet nebo dále rozšířit. Tímto způsobem máme důležité informace vždy na dosah, bez nutnosti se k nim složitě vracet.

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í:
7 hlasů
.
Aktivity