SlideShare a Scribd company logo
zend-expressiveを触ってみよう
ytake
zend-expressive の前に
PSR-6 が可決!
PSR-6
• キャッシュインターフェース
• 現在のキャッシュライブラリたちはほとんどバラバラ
• 再利用性が高まる+さらにコンポーネント
• PSR-11に期待
• オレオレキャッシュライブラリはつらい
そんなPSR-7を利用した
zend-expressive
zend-expressive
• リクエスト、レスポンスに特化したもの
• API利用や、

expressiveをコアにフレームワーク作りにも
• PSR-7だけではなくコンテナも入れ替え可能

(container-interop/container-interop)
• ミドルウェア活用
よりコンポーネント志向
• インストール時にルータライブラリが選択可
• コンテナも選択可
• テンプレートエンジンももちろん選択可
• アダプターなどが用意されているものを選択できる
ようになっている
• 用意されていないものも簡単に入れ替え可
Router
• Aura.Router
• FastRoute
• ZF2's MVC router
• symfony/routingや他のものでも利用できる?

(試していない)
Container
• zend-servicemanager
• pimple-container-interop
• Aura.Di
• container-interopを実装しているものであればほ
とんど利用できる筈

(league/containerには実際に差し替えて利用済)
ミドルウェア
• zend-stratigilityを継承してアプリケーション
を構築
• Routerも各Actionも、ミドルウェアを通じて
実行される
• まさにPSR-7尽くし
zend-expressive middleware
Request
middleware/Application
build Container
execute middleware & action
global middleware
Laravel middleware
Request
Container/Application
router dispatch
route middlewareController
Architecture
• 公式では特に述べられていないが、

Action-Domain-Responder?
• リクエスト、レスポンス以外は自分で作る
• ファクトリをつかうとやはり綺麗
• MVCパターンの改良であると言える?
あれこれ
• 開発者が選ぶため、初心者が慣れるのは難しい
• ドキュメントよりもソースを読むのが吉
• いろんな改良が見られて、学ぶ点が多い
• フルスタックか、特化したものか

要件に合わせて選択しましょう
• 当然ながらPHP7で動く
コンテナ差し替えについて

Qiitaにて書きました
http://qiita.com/ytake/
items/
21dd036bce5838a511f0

More Related Content

PDF
Chefを利用した運用省力化とDevOpsの取り組みについて
PDF
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
PDF
入門Ansible
PDF
JZlib and an aged fixed bug in java7
PDF
Fn project爆誕
PDF
BSP改造Tips
PPTX
はじめてのDockerパーフェクトガイド(2017年版)
PDF
ChefとPuppetの比較
Chefを利用した運用省力化とDevOpsの取り組みについて
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
入門Ansible
JZlib and an aged fixed bug in java7
Fn project爆誕
BSP改造Tips
はじめてのDockerパーフェクトガイド(2017年版)
ChefとPuppetの比較

Viewers also liked (20)

PDF
phpspecで始めるBDD
PDF
PHPデプロイツールの世界
PDF
Laravel5.1 Release
PDF
php開発で使うタスクランナー gulp
PDF
LaravelとMVCの先へ
PDF
Laravel / Lumen 次の一歩
PDF
いまどきのPHP開発現場 -2015年秋-
PDF
Laravel meetup5(Laravel meet NewSQL/VoltDB )
PDF
Laravel5.1をつかったWebアプリケーション開発
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
PPT
初心者向けPHPソースコード診断
PDF
よいことも悪いこともぜんぶPHPが教えてくれた
PDF
Iocコンテナについて
PDF
zend_parse_parametersと64bit環境
PDF
PHP&NewSQLで考える次世代アプリケーション
PDF
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
PPTX
PHP×コミニュケーションロボット
PDF
ネイティブ開発アンチパターン
PDF
Deploy to Lobi
PDF
JAWSUG architecture-crowler
phpspecで始めるBDD
PHPデプロイツールの世界
Laravel5.1 Release
php開発で使うタスクランナー gulp
LaravelとMVCの先へ
Laravel / Lumen 次の一歩
いまどきのPHP開発現場 -2015年秋-
Laravel meetup5(Laravel meet NewSQL/VoltDB )
Laravel5.1をつかったWebアプリケーション開発
Laravel_オープンソースカンファレンスhokkaido_JP_2014
初心者向けPHPソースコード診断
よいことも悪いこともぜんぶPHPが教えてくれた
Iocコンテナについて
zend_parse_parametersと64bit環境
PHP&NewSQLで考える次世代アプリケーション
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
PHP×コミニュケーションロボット
ネイティブ開発アンチパターン
Deploy to Lobi
JAWSUG architecture-crowler
Ad

zend-expressiveを触ってみよう