Yii PHP Framework

Yii ist eines der Top 5 PHP Frameworks weltweit und ist das Framework der Wahl, wenn es darum geht schnelle und sichere Web-Anwendungen effizient zu entwickeln.

Wie mit jedem Werkzeug, gibt es auch beim Yii Framework einige Konzepte, die es zu lernen gibt um das Framework optimal nutzen zu können. Yii verfügt über umfangreiche Dokumentation die in verschiedenen Sprachen zur Verfügung steht, allerdings kann eine Schulung den Lernprozess erheblich beschleunigen und die Entwickler optimal auf die Nutzung des Frameworks im Projekt vorbereiten.

Als Core Entwickler des Yii Framework, kann Carsten Brandt tiefgehende Einblicke in das Framework geben und dadurch von Anfang an gute Code Qualität im Projekt fördern.

Trainer und Dozenten

Carsten Brandt ist seit 2007 als PHP Entwickler und System Administrator tätig. Seit dem war er an Projekten unterschiedlicher Größe beteiligt bei denen Online-Anwendungen für Firmen aus verschiedenen Branchen entwickelt wurden. Die Kombination aus der praktischen Erfahrung in den Projekten und dem theoretischen Hintergrund aus dem Studium als M.Sc. in Informatik bildet die Grundlage für die Entwicklung eines praxisorientieren Frameworks.

Als Mitglied des Core Teams des Yii Framework und Co-Author von Yii 2.0, bietet Carsten Brandt einen tiefen Einblick in die Konzepte und Ideen hinter dem Framework.

Voraussetzungen

Sie sollten bereits Erfahrung in der Entwicklung von Webanwendungen mit PHP haben, wie wir sie in der Schulung PHP Programmierung vermitteln. Hilfreich (aber nicht zwingend erforderlich) ist es auch, wenn Sie schon mit Objektorientierter Programmierung (OOP) zu tun hatten, wir bieten dazu die Schulungen Objektorientierung / UML und PHP Fortgeschrittene an.

Grundlagen in Javascript und CSS sind von Vorteil aber nicht notwending.

Inhalt

Einleitung

  • Warum und wann sollte man ein Framework einsetzen und wann nicht?
  • Was ist das Yii Framework?
  • Wo finde ich Informationen und Resourcen zu Yii?

PHP Grundlagen

(wenn nötig/gewünscht)
  • Object Oriented Programming (OOP)
  • Namespaces
  • Autoloading
  • Composer

Einführung in die Kern-Konzepte von Yii

  • Komponenten (Components)
  • Objekt Properties
  • Events
  • Behaviors
  • Konfiguration
  • Aliases
  • Service Locator und Dependency Injection (DI)

Struktur der Application

  • Controllers
    • Actions
    • Request Filters (z.B. Zugriffskontrolle)
  • Models
  • Views
  • Modules
  • Configuration, bootstrapping

Anfragenbehandlung (Request) und Ablauf in Yii

  • Einstiegsskript (Entry script)
  • Routing
  • Request und Response
  • Sessions und Cookies
  • Hilfsklassen (Helpers)
  • I18N und Datenformatierung

Datenbankprogrammierung

  • Definition des Datenbank Schemas und Datenbank Migrationen
  • Datenbankverbindung herstellen
  • SQL
  • Query Builder
  • Active Record

Formulare und Eingabevalidierung

  • Einfache Formulare
  • AJAX-Validierung, Validierung auf Browser-Seite
  • Eingabe von mehreren Datens ̈atzen (tabular input)

Frontend-Entwicklung

  • Assets
  • Widgets
  • Themes, Widgets
  • Ajax, Javascript (The Yii way)
  • Bootstrap und jqueryUI

Backend-Entwicklung

  • (REST API)

Caching

Sicherheit

  • Ordnerstruktur der Anwendung
  • Zugriffskontrolle, RBAC
  • SQL Injection
  • XSS
  • CSRF

Entwicklung mit Yii

  • Vorbereitung der Entwicklungsumgebung f ̈ur das Entwickeln mit Yii
  • Code-Generierung mit Gii
  • Erweiterung von Framework Klassen
  • Schreiben von Erweiterungen (extensions)
  • Erstellen von modularen Anwendungen
  • Unit- und Funktional-Testing

Deployment in die Produktivumgebung

  • Konfiguration
  • Logging
  • Caching, Profiling
  • Composer und der Ugrade-Prozess

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.