SlideShare a Scribd company logo
1 of 30
@mkkn_info
 みかかね : 後藤知宏
 株式会社 chatbox
 代表取締役
 フロントエンド頑張る
 写真は弊社美人秘書
マネキンのエイミー
フロントエンドやってます。
フロントエンドとバックエンド
プロジェクトは分けたい。
マイクロフレームワーク
埋め込んだり、取り回しが便利
slim silex
期待の新星 lumen
 micro framework
 Laravel 謹製
 早いらしい
 簡単に使える。
$ composer global require "laravel/lumen-installer=~1.0”
$ lumen new service
$ cd service
$ php artisan serve
軽量 シンプル 簡単
(lumen new で生成されるファイルは30程度)
シンプル ≠ 低機能
(Composerで広がる無限の可能性)
laravelベース
(illuminateコンポーネントとの親和性)
SILEX
illuminateコンポーネント symfonyコンポーネント
[app]
• クラスなどを突っ込む場所。
[app/Console/Kernel.php]
• デフォルトのCLIカーネル実装
[app/Exceptions/Handler.php]
• デフォルトの例外ハンドラ実装
[app/Http/routes.php]
• デフォルトのルート定義
[boostrap/app.php]
• $appオブジェクトを生成するファイル。
[public]
• ドキュメントルート。
[resource]
• langとかviewsとか。
[storage]
• ログとかキャッシュとか
 Application クラスをnew して runするだけ。
 デフォルトの構成では`bootstrap/app.php`で$appを作成
し、`index.php`でrunしている。
 オブジェクトをrunするだけで動くから、
バックエンド側の処理を独立プロジェクトとして管理し
つつ、複数のフロントプロジェクトから参照する、みた
いなこともできる。
<?php
$app = new LaravelLumenApplication;
// 何か色々設定する。
$app->run();
 コンテナの登録
<?php
$app->singleton(
'IlluminateContractsDebugExceptionHandler',
'AppExceptionsHandler'
);
$app->singleton(
'IlluminateContractsConsoleKernel',
'AppConsoleKernel'
);
 middlewareの登録
 laravelでつくったMiddlewareとかがそのまま使える。
$app->middleware([
// 'IlluminateCookieMiddlewareEncryptCookies',
// 'IlluminateCookieMiddlewareAddQueuedCookiesToResponse',
// 'IlluminateSessionMiddlewareStartSession',
// 'IlluminateViewMiddlewareShareErrorsFromSession',
// 'LaravelLumenHttpMiddlewareVerifyCsrfToken',
]);
$app->routeMiddleware([
]);
 ルートの登録
 lumenではルートも`$app`に対して登録する。
$app->get(‘/’,function()use($app){
return $app->welcome();
});
 個人的には、Applicationクラスを継承して、独自
Applicationクラスを生成して…という構成がオスス
メ。
 継承を使えば`protected`な値とかもゴリゴリいじれ
て、みんなのオレオレlumenが簡単に作れる。
 ディレクトリ構成の変更
 $basePath: ベースパス。各種パス計算の起点
 $strogePath: ログとかキャッシュとか格納するディレ
クトリ
 $configPath: コンフィグファイルを格納するディレク
トリ
 $resourcePath: langディレクトリの置き場所
こういう独自構成をとったりとか
ここ[app]をまるごとComposerで
vendorディレクトリに切り出したり
とかも可能
 LaravelもLumenも$appは単純にDIコンテナ。
 Lumenも$appにilluminateコンポーネント生やしていく流れ
なので基本的なサービスの使い方とかはLaravelと変わらな
い。
 ディレクトリの構造が可変だったり、
HttpKernelが$appに組み込まれてたり、
ルートが$appで、FastRoute使ってたり、
くらいの違いしか無く、結構簡単に始めれるっぽい。
 コンテナ機能は共通、illuminateコンポーネント使えるし、
artisanもあるし、野生のMiddleware/ServiceProviderも多分
使える。
 configないやん!!とかは基本的に気のせい(config/app.php)
はApplicationクラスとくっついてる感じ。
 Silexよりも他機能で使いやすい。
 ViewとかConfigとか当たり前で使うようなものがパ
フォーマンスに影響しない形で組み込まれてるのは嬉
しい。
 若干取り回しは面倒だったりする。
 サブディレクトリに配置とかすると面倒。自分で
BaseUriみたいな実装が必要だったりする。
ご清聴 ありがとうございました

More Related Content

Similar to Lumen使ってみたレポ

ソースコードの共通化
ソースコードの共通化ソースコードの共通化
ソースコードの共通化Jun Hosokawa
 
PHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 SilexPHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 SilexMasao Maeda
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてShigeru Tatsuta
 
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコムTomoyaTakegoshi
 
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみようNTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみようMidori Oge
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌A AOKI
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013晃 遠山
 
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)Ryusaburo Tanaka
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018Yoshio Terada
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!Kohei Tokunaga
 
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステムMicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステムHirofumi Iwasaki
 
活動報告9 laravel5入門-
活動報告9  laravel5入門-活動報告9  laravel5入門-
活動報告9 laravel5入門-vx-pc-club
 
Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Takahiro Kujirai
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現Shigeru Tatsuta
 

Similar to Lumen使ってみたレポ (20)

ソースコードの共通化
ソースコードの共通化ソースコードの共通化
ソースコードの共通化
 
PHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 SilexPHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 Silex
 
Symfony2
Symfony2Symfony2
Symfony2
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps について
 
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム
 
TOMOYO Linuxへの道
TOMOYO Linuxへの道TOMOYO Linuxへの道
TOMOYO Linuxへの道
 
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみようNTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
 
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
 
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステムMicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
 
Openshift 20191128
Openshift 20191128Openshift 20191128
Openshift 20191128
 
活動報告9 laravel5入門-
活動報告9  laravel5入門-活動報告9  laravel5入門-
活動報告9 laravel5入門-
 
Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
 
Leiningen超速入門
Leiningen超速入門Leiningen超速入門
Leiningen超速入門
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現
 
20170124 linux basic_2
20170124 linux basic_220170124 linux basic_2
20170124 linux basic_2
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Lumen使ってみたレポ