PHP MySQL
Bij @The Academy leer je slimmer, sneller en succesvoller. Wij combineren efficiënt opleiden, praktijkgerichte trainingen en innovatieve leermethoden. Ontwikkel je ICT-skills bij een opleider die écht het verschil maakt.
Wat leer je in deze training?
- PHP-basis – Syntax, controlestructuren en formulierverwerking.
- Databases & MySQL – CRUD-operaties, prepared statements en PDO.
- Sessies & cookies – Gebruikersbeheer en authenticatie.
- Objectgeoriënteerd programmeren – Klassen, methoden en overerving.
- Security best practices – SQL…
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Bij @The Academy leer je slimmer, sneller en succesvoller. Wij combineren efficiënt opleiden, praktijkgerichte trainingen en innovatieve leermethoden. Ontwikkel je ICT-skills bij een opleider die écht het verschil maakt.
Wat leer je in deze training?
- PHP-basis – Syntax, controlestructuren en formulierverwerking.
- Databases & MySQL – CRUD-operaties, prepared statements en PDO.
- Sessies & cookies – Gebruikersbeheer en authenticatie.
- Objectgeoriënteerd programmeren – Klassen, methoden en overerving.
- Security best practices – SQL-injectie en XSS-preventie.
Deze training is ideaal voor beginners, frontend-developers en WordPress-ontwikkelaars die hun PHP-kennis willen verdiepen. Je werkt met Engelstalig lesmateriaal, praktijkgerichte opdrachten en moderne tools, ondersteund door een Nederlandstalige docent.
- Beginners die server-side webdevelopment willen leren.
- Frontend-developers die hun stack willen uitbreiden.
- WordPress-ontwikkelaars die dieper in PHP willen duiken.
- Backend-developers in opleiding (voor Laravel/Symfony).
- Installatie van PHP, XAMPP/MAMP, en een IDE (bijv. PHPStorm of VSCode).
- Syntax: variabelen, datatypes (string, int, float, bool, array, null).
- Operatoren: rekenkundig, vergelijking, logisch, concatenatie (.).
- Controlestructuren: if/elseif/else, switch, for, while, foreach.
- Formulierverwerking: $_GET, $_POST, inputvalidatie (basis).
- Functies: definiëren, parameters, return-waarden, typehinting (basis).
- Arrays: indexeerde en associatieve arrays, array_push(), array_filter(), array_map().
- Superglobals: $_SERVER, $_SESSION, $_COOKIE.
- Sessiebeheer: session_start(), gebruikersauthenticatie (basis).
- Bestandsafhandeling: fopen(), fwrite(), file_get_contents().
- MySQL-integratie: verbinding maken met mysqli of PDO.
- SQL-basis: SELECT, INSERT, UPDATE, DELETE, prepared statements.
- Databaseklasse bouwen: herbruikbare connectie en queries.
- Introductie OOP: klassen, objecten, methoden, eigenschappen.
- Security: basis van SQL-injectiepreventie, htmlspecialchars().
Programma:
- Basisconcepten en Syntax:
- Variabelen: $variabele, datatypes (string, int, float, bool, array, null, resource).
- Type Juggling en expliciete conversie: (int), (string), (array).
- Operatoren:
- Rekenkundig: +, -, , /, %, *.
- Vergelijking: ==, ===, !=, !==, >, <.
- Logisch: &&, ||, !, and, or.
- String-concatenatie: . en .=.
- Controlestructuren:
- if/elseif/else, switch met case/default.
- Loops: for, while, do…while, foreach (voor arrays).
- Formulierverwerking en Validatie:
- Superglobals: $_GET, $_POST, $_FILES (bestandsuploads).
- Input sanitization: trim(), stripslashes(), htmlspecialchars().
- Validatie: filter_var() met filters (FILTER_VALIDATE_EMAIL, FILTER_SANITIZE_STRING).
- Basis regex: preg_match() voor patroonvalidatie.
- Bestandsuploads: $_FILES-array, move_uploaded_file(), mime-type checks.
- Arrays en Functies:
- Array-types:
- Indexeerde arrays: $arr = [1, 2, 3];.
- Associatieve arrays: $assoc = ["naam" ⇒ "Jan", "leeftijd" ⇒ 30];.
- Array-functies: count(), array_push(), array_merge(), array_key_exists().
- Functies:
- Definities: function naam($param) { … }.
- Optionele parameters: default values (function tel($a, $b = 0)).
- Type declarations: function add(int $a, int $b): int.
- Anonieme functies en closures.
- Sessies en Cookies:
- Sessiestart: session_start(), $_SESSION-variabelen.
- Cookie-beheer: setcookie(), $_COOKIE, vervaldatums.
- Veiligheid: sessie-ID-regeneratie (session_regenerate_id()).
- Bestands- en Directorybeheer:
- Bestanden lezen/schrijven: file_get_contents(), file_put_contents().
- Directory-functies: scandir(), mkdir(), rmdir().
- Bestandspermissies: chmod(), is_readable().
- Database-integratie (MySQL):
- MySQLi:
- Verbinden: mysqli_connect().
- Queries: mysqli_query(), prepared statements (mysqli_prepare(), bind_param()).
- Resultaten ophalen: mysqli_fetch_assoc(), mysqli_fetch_all().
- PDO:
- Verbinden: new PDO("mysql:host=…;dbname=…", $user, $pass).
- Prepared statements: prepare(), execute(), fetch().
- Transacties: beginTransaction(), commit(), rollback().
- CRUD-operaties: Create, Read, Update, Delete.
- OOP (Objectgeoriënteerd Programmeren):
- Klassen en objecten: class Gebruiker { … }, new Gebruiker().
- Eigenschappen en methoden: public, private, protected.
- Constructor/destructor: construct(), destruct().
- Static methods/properties: self::$teller, static::methode().
- Overerving: extends, parent::__construct().
- Security Best Practices:
- SQL-injectie voorkomen: prepared statements (MySQLi/PDO).
- XSS-preventie: htmlspecialchars(), strip_tags().
- Wachtwoordhashing: password_hash(), password_verify().
- CSRF-tokens: basisimplementatie voor formulieren.
- Tools en Praktijkcases:
- Composer: package manager, composer.json, autoloading (PSR-4).
- PHPUnit: basis testcases schrijven.
- Praktijk:
- Contactformulier met validatie en e-mailverzending (mail()).
- Inlogsysteem met sessies en wachtwoordbeveiliging.
- Blog met database-CRUD en paginering.
- Bestandsbeheersysteem (upload/download/delete).
- Error Handling en Debugging:
- Foutmeldingen: error_reporting(), ini_set("display_errors", 1).
- Custom error handler: set_error_handler().
- Uitzonderingen: try/catch/throw new Exception().
- Logging: error_log(), logbestanden analyseren.
- Bereidt voor op het Zend PHP Certification Associate-examen.
- Basis voor vervolgtrainingen zoals Laravel of WordPress Development.
- Examen is extern af te leggen (niet inbegrepen).
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

