PHP Avancé : Modélisation, Webservices, Librairies courantes + Déploiement, Tests, Frameworks
Wat zijn de doelstellingen van de opleiding?
Opleidingsprogramma
Inleiding
Herinnering aan OOP in PHP
Beheer van toepassingscontexten
PHP 5, 5.3, 5.4, 5.6, 7: presentatie van de nieuwe kenmerken en evoluties
Ontwerp Patronen
Presentatie en principe; belang van Design Patterns
Web-specifieke design patterns
MVC architectuur
Singleton, Factory, Builder
Proxy, Adapter, Bridge
Iterator, Observer
Dependency injection
Workshop: implementeren van verschillende ontwerppatronen
HTML2pdf maak uw eigen PDF in PHP
Gebruik
Pagina's toevoegen
Afbeeldingen invoegen
Lettertypes gebruiken
Workshop: databasegegevens genereren in PDF
Databanken
Herinneringen: Toegang tot een database
Basisbegrippen van SQL & NoSQL
Inleiding tot Relational Object Mapping
Belang en voordelen van het gebruik van een ORM
ORM PHP: Doctrine, Propel
Workshop: Een ORM installeren en gebruiken
Cryptografie
Beginselen en begrippen van cryptografie
Tegenstelling Encryptie / Hashing
Encryptie-algoritmen: Blowfish, Rijndeal
Encryptie-modi: ECB, CBC, CFB
PHP's encryptie-bibliotheek : Mcrypt
Workshop: Een coderingsklasse maken
Webdiensten
Voorstelling van webdiensten en SOA
Voorstelling van de Web Services Description Language (WSDL)
De SOAP-bibliotheek van php
Voorstelling van een REST-architectuur
Voor- en nadelen
Workshop: bouwen van een webdienst
Testen in PHP
Unit test bibliotheken: PHPUnit, PHPSpec
PHPUnit installeren
Een testklasse schrijven
Assertions gebruiken
PHPUnit_Framework_TestCase helpers
Object afhankelijkheden gebruiken: Mocks
Tests uitvoeren
Workshop: testen van meerdere klassen
Uitrollen van PHP toepassingen
Beveiliging van PHP-scripts: kwetsbaarheden vermijden
Cross-Site Scripting (XSS)-aanvallen voorkomen
SQL-injecties vermijden
Beschermen tegen Cross-Site Request Forgery (CSRF)
Fouten- en uitzonderingsbehandeling in PHP
Workshop: Bescherming van uw applicatie tegen php-fouten
Case study : Een kader gebruiken
Inleiding tot CodeIgniter
Gebruik van de MVC architectuur
Beheer van urls
Binden van een controller aan een url
Associëren van een view aan een controller
Gebruik van templates
Workshop: Een applicatie maken met CodeIgniter