Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Modernize your app
with
Zend Expressive
Jan Burkl
Solution Consultant
Zend, a Rogue Wave Company
jan@zend.com // @5square_de

What's the problem?
Huge Code Base
Complex Business Logic
Legacy Frameworks
No Time
What do you want?
The hottest JS Framework
(mobile) App
3rd Party Systems
API
Zend Expressive
The Application acts as an "onion"
"The terminology "pipeline" is often used
to describe the onion. One way of looking
at the "onion" is as a queue, which is
first-in-first-out (FIFO) in operation.
This means that the first middleware on
the queue is executed first, and this invokes
the next, and so on (and hence the "next" terminology). "
Pipelines
https://zendframework.github.io/zend-expressive/getting-started/features/
Zend Framwork 1, Symfony 1
The Goal
Provide REST
No Legacy Code changes
Pareto Principle
Without losing Flexibility
The Job
No Screen Scraper
Rewrite Rules
2x index.php
Routes for API
View should not render
Output Data Processing
Example:
ZF1-App MyTracking
  • application/json -> Zend Expressive
  • text/html -> Legacy App
Route
Prep Work
  • composer: add Zend Expressive
  • composer: add legacy-bridge
  • legacy bridge config
  • zf1-prereq
Demo by Debugging
https://bitbucket.org/account/user/janatzendteam/projects/ELM
Example:
Symfony 1 App Jobeet
  • ^rest/(.*)$ expressive.php
  • ^(.*)$ index.php
Route
Prep Work
  • composer: add Zend Expressive
  • composer: add legacy-bridge
  • legacy bridge config
  • sf1-prereq
Demo by Debugging
https://bitbucket.org/account/user/janatzendteam/projects/EX
Danke schön!
jan@zend.com / @5square_de
 
github.com/5square/zend-expressive-legacy-bridge
5square.github.io/talks