SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
Workshop: Zend Framework 3Workshop: Zend Framework 3
Middleware-Anwendungen bauenMiddleware-Anwendungen bauen
Ralf EggertRalf Eggert
CEO Travello GmbH, PHP Entwickler,CEO Travello GmbH, PHP Entwickler,
Zend Framework Trainer, Autor & Coach sowieZend Framework Trainer, Autor & Coach sowie
Amazon Alexa Skill EntwicklerAmazon Alexa Skill Entwickler
FrageFrage
Welche Aspekte interessieren Sie am meisten?Welche Aspekte interessieren Sie am meisten?
Ralf EggertRalf Eggert 44 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Agenda
●
Teil 1: Einführung in ZendExpressive
●
Teil 2: Installation & Aufbau der Anwendung
●
Teil 3: Anwendungsmodule
●
Teil 4: Middleware-Aktionen
●
Teil 5: Datenbankanbindung
●
Teil 6: Formulare und Formularverarbeitung
●
Teil 7: Zusammenfassung
AblaufAblauf
Theorie, Live-Coding, Fragen & DiskussionTheorie, Live-Coding, Fragen & Diskussion
Teil 1Teil 1
Einführung inEinführung in ZendExpressiveZendExpressive
FrageFrage
Wer kennt die PHP-FIG und den PSR-7?Wer kennt die PHP-FIG und den PSR-7?
Ralf EggertRalf Eggert 88 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Was ist die PHP-FIG?
Ralf EggertRalf Eggert 99 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Was ist der PSR-7?
Ralf EggertRalf Eggert 1010 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Klassischer HTTP Request
CLIENT WEBSERVER
HTTP
REQUEST
HTTP
RESPONSE
Ralf EggertRalf Eggert 1111 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Middleware-Request
HTTP
Request
HTTP
Response
Middleware
Ralf EggertRalf Eggert 1212 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Middleware-Pipeline
HTTP
Request
HTTP
Response
Routing
Middleware
Authorization
Middleware
Dispatching
Middleware
Ralf EggertRalf Eggert 1313 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Action-Middleware
HTTP
Request
HTTP
Response
Routing
Middleware
Action
Middleware
Authorization
Middleware
Dispatching
Middleware
Ralf EggertRalf Eggert 1414 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Zend Framework Komponenten
ZEND
DIACTOROS
ZENDSTRATIGILITY
ZENDEXPRESSIVE
PSR-7
MIDDLEWARE / PSR-15
MIDDLEWARE
APPLICATIONS
Ralf EggertRalf Eggert 1515 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
ZendExpressive Komponenten
Router DI Container Template Renderer Error Handler
Aura.Router
FastRoute
ZendRouter
Weitere Router
Aura.DI
Pimple-interop
Zend
ServiceManager
Weitere
DI Container
Plates
Twig
ZendView
Weitere
Template-Engine
Whoops
Weiterer
Error-Handler
Teil 2Teil 2
Installation & Aufbau der AnwendungInstallation & Aufbau der Anwendung
Ralf EggertRalf Eggert 1717 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
ZendExpressive installieren I
Ralf EggertRalf Eggert 1818 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
ZendExpressive installieren II
Ralf EggertRalf Eggert 1919 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
ZendExpressive installieren III
Ralf EggertRalf Eggert 2020 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Workshop Repository installieren
$ cd /home/devhost/
$ git clone https://github.com/RalfEggert/ipc2017-expressive
$ cd ipc2017-expressive/
$ sudo chmod 777 -R data/
$ composer install
$ composer development-enable
$ composer serve
Ralf EggertRalf Eggert 2121 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Workshop Expressive Anwendung
Ralf EggertRalf Eggert 2222 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Virtual Host für Apache 2
<VirtualHost 127.0.0.1>
ServerName ipc2017.expressive
DocumentRoot /home/devhost/konferenzen/ipc2017-expressive/public/
AccessFileName .htaccess
SetEnv APPLICATION_ENV development
<Directory /home/devhost/konferenzen/ipc2017-expressive/public/>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
FrageFrage
Läuft bei allen die Anwendung im Browser?Läuft bei allen die Anwendung im Browser?
Ralf EggertRalf Eggert 2424 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Aufbau der Anwendung
 bin
 clear-config-cache.php
 config
 autoload
 dependencies.global.php
 dependencies.local.php.dist
 local.php.dist
 router.global.php
 templates.global.php
 zend-expressive.global.php
 config.php
 container.php
 development.config.php.dist
 pipeline.php
 routes.php
 data
 cache
 db
 module
 App
 public
 .htaccess
 db-check.php
 index.php
 test
 AppTest
 ...
 vendor
 bin
 composer
 zendframework
 ...
 autoload.php
 composer.json
 composer.lock
Ralf EggertRalf Eggert 2525 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Aufbau des App Moduls
 module
 App
 src
 Action
 HomePageAction.php
 HomePageFactory.php
 PingAction.php
 ConfigProvider.php
 templates
 app
 home-page.phtml
 error
 404.phtml
 error.phtml
 layout
 default.phtml
Teil 3Teil 3
AnwendungsmoduleAnwendungsmodule
Ralf EggertRalf Eggert 2727 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
User Stories Kundenverwaltung
Story #0002
As an admin
I want to show a single customers
So that I can see all data of a
registered customer
Story #0001
As an admin
I want to list all customers
So that I have an overview of all
registered customers
Story #0003
As an admin
I want to create a new customer
So that I can add customers
without registration
Story #0005
As an admin
I want to delete a customer
So that I can remove the customer
data from the database
Story #0004
As an admin
I want to update a customer
So that I can change the details of
a customer in the database
Story #0006
As a -
I want -
So that -
Ralf EggertRalf Eggert 2828 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Schichtenmodell für Anwendung
Repository DatenbankAction
Presentation Layer Domain Layer Infrastructure LayerApplication Layer
Formular
Ralf EggertRalf Eggert 2929 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität I
Modul Customer
Actions
Konfiguration
Templates
Formulare
Repositories
Entitäten
Storages
Services
Routing
Input-Filter
View-Helper
Paginierung
Navigation
Ralf EggertRalf Eggert 3030 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität II
Modul CustomerApp Modul CustomerDomain
Action
Konfiguration
Templates
Formulare
Konfiguration
Repository
Entitäten
Storage
Services
Routing
Input-Filter
View-Helper
Paginierung
Navigation
Ralf EggertRalf Eggert 3131 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität III
Modul
Customer
MwApp
Modul
Customer
Domain
Modul
Customer
Presentation
Modul
Customer
Console
Modul
Customer
Rest
Modul
Customer
MvcApp
Ralf EggertRalf Eggert 3232 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität IV
Modul
Customer
MwApp
Modul
Customer
Domain
Modul
Customer
Presentation
Modul
Customer
Console
Modul
Customer
Rest
Modul
Customer
MvcApp
FrageFrage
Welche Module für Kundenverwaltung notwendig?Welche Module für Kundenverwaltung notwendig?
Live CodingLive Coding
Module für Kundenverwaltung einrichtenModule für Kundenverwaltung einrichten
DiskussionDiskussion
ModuleinrichtungModuleinrichtung
Teil 4Teil 4
Middleware-AktionenMiddleware-Aktionen
Ralf EggertRalf Eggert 3737 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Einfacher Domain-Layer
RepositoryAktion
Domain Layer Infrastructure LayerApplication Layer
PHP Array
Factory
Live CodingLive Coding
Repository implementierenRepository implementieren
DiskussionDiskussion
RepositoryRepository
Ralf EggertRalf Eggert 4040 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Routing
Middleware-Aktionen
Aktion
Application LayerPresentation Layer
Template
Factory Repository
Domain Layer
FrageFrage
Welche lesenden Middleware-Aktionen notwendig?Welche lesenden Middleware-Aktionen notwendig?
Live CodingLive Coding
Lesende Middleware-Aktionen implementierenLesende Middleware-Aktionen implementieren
DiskussionDiskussion
RepositoryRepository
FrageFrage
Welches Problem birgt die Anwendungsstruktur?Welches Problem birgt die Anwendungsstruktur?
Live CodingLive Coding
Modulare Struktur verbessernModulare Struktur verbessern
DiskussionDiskussion
Delegator FactoriesDelegator Factories
Teil 5Teil 5
DatenbankanbindungDatenbankanbindung
FrageFrage
Wie Datenbank ansprechen?Wie Datenbank ansprechen?
Ralf EggertRalf Eggert 4949 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Erweiterter Domain-Layer
RepositoryAktion
Domain Layer Infrastructure LayerApplication Layer
Factory
Storage
Factory
Table Gateway
Ralf EggertRalf Eggert 5050 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
ZendDb installieren
Ralf EggertRalf Eggert 5151 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Datenbank Dump einspielen
Live CodingLive Coding
Storage implementierenStorage implementieren
DiskussionDiskussion
Storage und RepositoryStorage und Repository
Live CodingLive Coding
Schreibende Methoden implementierenSchreibende Methoden implementieren
DiskussionDiskussion
Schreibende MethodenSchreibende Methoden
Teil 6Teil 6
Formulare und FormularverarbeitungFormulare und Formularverarbeitung
Ralf EggertRalf Eggert 5757 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Routing
Middleware-Aktion
Aktion
Application LayerPresentation Layer
Template
Factory Repository
Domain Layer
Formular
Ralf EggertRalf Eggert 5858 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
ZendForm installieren
Live CodingLive Coding
Formular implementierenFormular implementieren
DiskussionDiskussion
FormulareFormulare
Ralf EggertRalf Eggert 6161 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Formularverarbeitung
Form
Aktion
Application LayerPresentation Layer
Template
Repository
Domain Layer
Formular
Handle
Aktion
Live CodingLive Coding
Formularverarbeitung implementierenFormularverarbeitung implementieren
DiskussionDiskussion
FormularverarbeitungFormularverarbeitung
Ralf EggertRalf Eggert 6464 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Eingabevalidierung
Form
Aktion
Application LayerPresentation Layer
Template
Repository
Domain Layer
Formular
Handle
Aktion
Input Filter
Live CodingLive Coding
Formularvalidierung implementierenFormularvalidierung implementieren
DiskussionDiskussion
FormularvalidierungFormularvalidierung
Teil 7Teil 7
ZusammenfassungZusammenfassung
Ralf EggertRalf Eggert 6868 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Implementierte Bestandteile
Module
Konfiguration
Formulare
Repository
Storage
Routing
Actions
Templates Input
Filter
FrageFrage
Welche Bestandteile einer Anwendung fehlen?Welche Bestandteile einer Anwendung fehlen?
Ralf EggertRalf Eggert 7070 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Fehlende Bestandteile (Auswahl)
Entitäten
Hydratoren
Middleware
Pipeline
Authenti-
fizierung
Autori-
sierung
View
Helper
Filter
Validator Externe
Packages
DiskussionDiskussion
Abschlussdiskussion und weitere FragenAbschlussdiskussion und weitere Fragen
Danke!Danke!
Fragen an ralf@travello.deFragen an ralf@travello.de

Weitere ähnliche Inhalte

Ähnlich wie IPC2017SE - Zend\Expressive Workshop

Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Ralf Eggert
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3Ralf Eggert
 
IPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenIPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
 
Zend Framework
Zend FrameworkZend Framework
Zend Frameworkluckec
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Zend Framework 2 - Best Practices
Zend Framework 2 - Best PracticesZend Framework 2 - Best Practices
Zend Framework 2 - Best PracticesRalf Eggert
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
 
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrGunther Pippèrr
 
W-JAX 2013 Spring Batch - Performance und Skalierbarkeit
W-JAX 2013 Spring Batch - Performance und SkalierbarkeitW-JAX 2013 Spring Batch - Performance und Skalierbarkeit
W-JAX 2013 Spring Batch - Performance und Skalierbarkeittobiasflohre
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickAmazee Labs
 
Zend Framework 2.0
Zend Framework 2.0Zend Framework 2.0
Zend Framework 2.0Ralf Eggert
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Robin Sedlaczek
 

Ähnlich wie IPC2017SE - Zend\Expressive Workshop (20)

Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3
 
IPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenIPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
PHP auf IBM Plattformen
PHP auf IBM PlattformenPHP auf IBM Plattformen
PHP auf IBM Plattformen
 
PHPblue LOS!NRW
PHPblue LOS!NRWPHPblue LOS!NRW
PHPblue LOS!NRW
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Zend Framework 2 - Best Practices
Zend Framework 2 - Best PracticesZend Framework 2 - Best Practices
Zend Framework 2 - Best Practices
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der Realitaet
 
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
 
W-JAX 2013 Spring Batch - Performance und Skalierbarkeit
W-JAX 2013 Spring Batch - Performance und SkalierbarkeitW-JAX 2013 Spring Batch - Performance und Skalierbarkeit
W-JAX 2013 Spring Batch - Performance und Skalierbarkeit
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und Ausblick
 
Zend Framework 2.0
Zend Framework 2.0Zend Framework 2.0
Zend Framework 2.0
 
APEX 5.0, und sonst?
APEX 5.0, und sonst?APEX 5.0, und sonst?
APEX 5.0, und sonst?
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
 

Mehr von Ralf Eggert

ChatGPT: unser täglich' Bot gib uns heute
ChatGPT: unser täglich' Bot gib uns heuteChatGPT: unser täglich' Bot gib uns heute
ChatGPT: unser täglich' Bot gib uns heuteRalf Eggert
 
Der ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 EditionDer ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 EditionRalf Eggert
 
PHP Module als Rundum-Sorglos-Pakete entwickeln
PHP Module als Rundum-Sorglos-Pakete entwickelnPHP Module als Rundum-Sorglos-Pakete entwickeln
PHP Module als Rundum-Sorglos-Pakete entwickelnRalf Eggert
 
Alexa, what's next?
Alexa, what's next?Alexa, what's next?
Alexa, what's next?Ralf Eggert
 
Alexa, wohin geht die Reise
Alexa, wohin geht die ReiseAlexa, wohin geht die Reise
Alexa, wohin geht die ReiseRalf Eggert
 
8. Hamburg Voice Interface Meetup
8. Hamburg Voice Interface Meetup8. Hamburg Voice Interface Meetup
8. Hamburg Voice Interface MeetupRalf Eggert
 
Alexa Skill Maintenance
Alexa Skill MaintenanceAlexa Skill Maintenance
Alexa Skill MaintenanceRalf Eggert
 
Vom Zend Framework zu Laminas
Vom Zend Framework zu LaminasVom Zend Framework zu Laminas
Vom Zend Framework zu LaminasRalf Eggert
 
Alexa Skills und PHP? Passt das zusammen?
Alexa Skills und PHP? Passt das zusammen?Alexa Skills und PHP? Passt das zusammen?
Alexa Skills und PHP? Passt das zusammen?Ralf Eggert
 
Mit Jovo von 0 auf 100
Mit Jovo von 0 auf 100Mit Jovo von 0 auf 100
Mit Jovo von 0 auf 100Ralf Eggert
 
Vom Zend Framework zu Laminas
Vom Zend Framework zu LaminasVom Zend Framework zu Laminas
Vom Zend Framework zu LaminasRalf Eggert
 
Alexa for Hospitality
Alexa for HospitalityAlexa for Hospitality
Alexa for HospitalityRalf Eggert
 
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...Ralf Eggert
 
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenFortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenRalf Eggert
 
Die sieben Projektphasen für Voice Projekte
Die sieben Projektphasen für Voice ProjekteDie sieben Projektphasen für Voice Projekte
Die sieben Projektphasen für Voice ProjekteRalf Eggert
 
Künstliche Intelligenz – Traum und Wirklichkeit
Künstliche Intelligenz – Traum und WirklichkeitKünstliche Intelligenz – Traum und Wirklichkeit
Künstliche Intelligenz – Traum und WirklichkeitRalf Eggert
 
Multi-Modal Voice Development with Amazon Alexa
Multi-Modal Voice Development with Amazon AlexaMulti-Modal Voice Development with Amazon Alexa
Multi-Modal Voice Development with Amazon AlexaRalf Eggert
 
Mein Haus, mein Auto, mein Backend
Mein Haus, mein Auto, mein BackendMein Haus, mein Auto, mein Backend
Mein Haus, mein Auto, mein BackendRalf Eggert
 
Zend/Expressive 3 – The Next Generation
Zend/Expressive 3 – The Next GenerationZend/Expressive 3 – The Next Generation
Zend/Expressive 3 – The Next GenerationRalf Eggert
 

Mehr von Ralf Eggert (20)

ChatGPT: unser täglich' Bot gib uns heute
ChatGPT: unser täglich' Bot gib uns heuteChatGPT: unser täglich' Bot gib uns heute
ChatGPT: unser täglich' Bot gib uns heute
 
Der ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 EditionDer ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 Edition
 
PHP Module als Rundum-Sorglos-Pakete entwickeln
PHP Module als Rundum-Sorglos-Pakete entwickelnPHP Module als Rundum-Sorglos-Pakete entwickeln
PHP Module als Rundum-Sorglos-Pakete entwickeln
 
Alexa, what's next?
Alexa, what's next?Alexa, what's next?
Alexa, what's next?
 
Alexa, wohin geht die Reise
Alexa, wohin geht die ReiseAlexa, wohin geht die Reise
Alexa, wohin geht die Reise
 
8. Hamburg Voice Interface Meetup
8. Hamburg Voice Interface Meetup8. Hamburg Voice Interface Meetup
8. Hamburg Voice Interface Meetup
 
Welcome Bixby
Welcome BixbyWelcome Bixby
Welcome Bixby
 
Alexa Skill Maintenance
Alexa Skill MaintenanceAlexa Skill Maintenance
Alexa Skill Maintenance
 
Vom Zend Framework zu Laminas
Vom Zend Framework zu LaminasVom Zend Framework zu Laminas
Vom Zend Framework zu Laminas
 
Alexa Skills und PHP? Passt das zusammen?
Alexa Skills und PHP? Passt das zusammen?Alexa Skills und PHP? Passt das zusammen?
Alexa Skills und PHP? Passt das zusammen?
 
Mit Jovo von 0 auf 100
Mit Jovo von 0 auf 100Mit Jovo von 0 auf 100
Mit Jovo von 0 auf 100
 
Vom Zend Framework zu Laminas
Vom Zend Framework zu LaminasVom Zend Framework zu Laminas
Vom Zend Framework zu Laminas
 
Alexa for Hospitality
Alexa for HospitalityAlexa for Hospitality
Alexa for Hospitality
 
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...
 
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenFortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
 
Die sieben Projektphasen für Voice Projekte
Die sieben Projektphasen für Voice ProjekteDie sieben Projektphasen für Voice Projekte
Die sieben Projektphasen für Voice Projekte
 
Künstliche Intelligenz – Traum und Wirklichkeit
Künstliche Intelligenz – Traum und WirklichkeitKünstliche Intelligenz – Traum und Wirklichkeit
Künstliche Intelligenz – Traum und Wirklichkeit
 
Multi-Modal Voice Development with Amazon Alexa
Multi-Modal Voice Development with Amazon AlexaMulti-Modal Voice Development with Amazon Alexa
Multi-Modal Voice Development with Amazon Alexa
 
Mein Haus, mein Auto, mein Backend
Mein Haus, mein Auto, mein BackendMein Haus, mein Auto, mein Backend
Mein Haus, mein Auto, mein Backend
 
Zend/Expressive 3 – The Next Generation
Zend/Expressive 3 – The Next GenerationZend/Expressive 3 – The Next Generation
Zend/Expressive 3 – The Next Generation
 

IPC2017SE - Zend\Expressive Workshop