| Název předmětu | Týdenní praktikum programování v PHP | 
|---|---|
| Kód předmětu | UAI/327 | 
| Organizační forma výuky | Seminář | 
| Úroveň předmětu | Bakalářský | 
| Rok studia | nespecifikován | 
| Četnost výuky | V každém akademickém roce, jen v letním semestru. | 
| Semestr | Letní | 
| Počet ECTS kreditů | 2 | 
| Vyučovací jazyk | čeština | 
| Statut předmětu | Povinně-volitelný | 
| Způsob výuky | Kontaktní | 
| Studijní praxe | Nejedná se o pracovní stáž | 
| Doporučené volitelné součásti programu | Není | 
| Vyučující | 
|---|
        
  | 
| Obsah předmětu | 
| 
        1. Úvod do PHP - historie, evoluce, moderní PHP (8.0+), instalace a nastavení vývojového prostředí, základní syntaxe. 2. Datové typy a operátory - skalární typy, složené typy, type declarations, type juggling, operátory a jejich precedence. 3. Řídící struktury a funkce - podmínky (if, switch), cykly (for, while, foreach), definice a volání funkcí, parametry a return values. 4. Objektově orientované programování I - třídy, objekty, vlastnosti, metody, dědičnost, zapouzdření, modifikátory přístupu. 5. Objektově orientované programování II - interface, trait, abstraktní třídy, polymorfismus, statické členy, magic methods. 6. Práce se stringy a regulárními výrazy - operace se stringy, regulární výrazy (PCRE), prohledávání a nahrazování, unicode handling. 7. Pole a kolekce - práce s poli, associativní pole, iterace,  funkce, SPL (Standard PHP Library), generátory. 8. Jmenné prostory a use statements - organizace kódu, jmenné prostory, autoloading, PSR standardy. 9. Práce se soubory a databázemi - čtení a zápis souborů, práce s PDO, SQL injection prevence, prepared statements, transakce. 10. Moderní PHP - typu bezpečnost, named arguments, match výraz, enums, attributes, error handling a exceptions. 11. Asyncní a paralelní zpracování - asynchronní programování, Promises, async/await, paralelní procesy, Queue systémy. 12. Framework a ekosystém - Laravel, Symfony, middleware, dependency injection, testing (PHPUnit), Composer a package management. 13. Bezpečnost, deployment a optimalizace - autentifikace a autorizace, OWASP top 10, kaching, performance optimization, Docker, CI/CD pipeline.
         | 
| Studijní aktivity a metody výuky | 
        
        Projektová výuka, Případová studie
        
            
  | 
| Výstupy z učení | 
| 
                
                Praktikum programování v PHP navazuje na kurz PHP. Je zaměřen na osvojení a upevnění dovedností získaných v uvedeném kurzu a dále k prohloubení znalostí v oblasti programování PHP. Praktikum bude zaměřeno na získání praktických zkušeností s vývojem většího projektu a seznámí se s pravidly týmové spolupráce.
                 Kurz je zaměřen na pokročilé techniky programování v jazyku PHP. JE navazujícím kurzem k UAI/322 a je zaměřen na praktické techniky vývoje dynamických aplikací.  | 
        
| Předpoklady | 
| 
                
                
                Absolvování kurzu UAI/332. Znalost základů PHP.
                
                
                    
                        
                    
                    
                
                 | 
        
| Hodnoticí metody a kritéria | 
| 
                
                    
                        Seminární práce
                        
                        
                         Aktivní účast na cvičeních. Závěrečná práce.  | 
        
| Doporučená literatura | 
        
  | 
| Studijní plány, ve kterých se předmět nachází | 
| Fakulta | Studijní plán (Verze) | Kategorie studijního oboru/specializace | Doporučený semestr | 
|---|