Upload
fumio-furukawa
View
754
Download
3
Embed Size (px)
Citation preview
Web職人のためのPHPフレームワーク 「Laravel」日本上陸!
2014.5.24 古川 文生(Fumio Furukawa)
ララベル
LARAVEL2014
• HTML/CSSを書いたことがある。
• PHPなどのスクリプト言語で、MySQLにデータを入れるプログラムを書いたことがある。
• 「クラス」の意味がわかる。
• 「Webフレームワーク」という言葉を聞いたことがある。
LARAVEL2014
このセミナーの想定受講者
LARAVEL2014
• プログラムを作ったOS
• MS-DOS、Windows、Linux、Mac、Android、iOS
!• プログラミング言語
• C、C++、Objective-C、Java(SE, Android)、VB、C#、Perl、PHP5、Python3
!• フレームワーク
• .NET、Android、CakePHP2、FuelPHP、Laravel4、Flask、Pyramid、Cocoa
自己紹介(技術)
LARAVEL2014
• プリエンプション型のマルチタスクライブラリ(MS-DOS)
!• オブジェクト指向プログラミング言語環境「Uva」(Windows、Linux+X Window System)
!• iPadレジ「S2 Regidence - レジデンス」(iPad)
自己紹介(作品)
LARAVEL2014
・ソーシャルシステムコーディネーター 「スマートフォンを活用したアプリケーションの企画・開発」 株式会社ストレートスピリッツ !「地域通貨やポイントの仕組みでコミュニティに笑顔を」 あったかマネー研究会 主宰
!・プログラミングコーチ 「プログラミング・アプリ開発のプライベートコーチ」 F’sプログラミング・ラボ
・コミュニティ Laravel jp (in Tokyo)
LARAVEL2014
自己紹介(現在の活動)
LARAVEL2014
1. 最近のPHPって進化してるということ!
2. Laravelという洗練されたモダンなWebフレームワークがあること!
今日伝えたいことLARAVEL2014
最近のPHPはイケてるんです!
–詠み人知らず
誤解:“PHPは遅い、関数名がださい、古くさい”
LARAVEL2014
FacebookはPHPでできているLARAVEL2014
出典:SourceForge JP Magazine
ご安心ください 胸を張ってPHPを使っていいんです!
LARAVEL2014
• 基本要素
• ルーティング/コントローラー
• ビュー
• モデル
• Web MVCパターンと古典的MVCパターン
• Ruby on Railsが始まり(2004年~、最新バージョン4.1)
• PHPのWebフレームワークは百花繚乱
LARAVEL2014
Webフレームワークとは
世界でのLaravel
LARAVEL2014
http://www.google.com/trends/explore#q=Laravel%2C%20Symfony%2C%20Codeigniter%2C%20Yii%2C%20CakePHP%2C%20FuelPHP&cmpt=q
主要PHPフレームワーク(すべての国、2004年~現在)
2011 20052005 2006 2008 2010
FuelPHP
5.3PHP 5.25.0 5.4 5.5
Googleトレンド(2014年5月調べ)
LARAVEL2014
主要PHPフレームワーク(日本、過去12ヶ月)
Googleトレンド(2014年5月調べ)
LARAVEL2014
主要PHPフレームワーク(アメリカ、過去12ヶ月)
Googleトレンド(2014年5月調べ)
LARAVEL2014
フレームワーク 最新リリース スター数
Laraval v4.1.29 9978
Symphony v2.4 8406
CodeIgnitor v2.1.4 7612
CakePHP v2.5.1 4801
Zend Framework v2.3.1 4718
Yii v1.1.14 3771
FuelPHP v1.7.1 1318
主要PHPフレームワーク
GitHubトレンド(2014年5月調べ)
LARAVEL2014
https://github.com/trending?l=php&since=monthly
GitHub月間トレンド(2014年5月)
LARAVEL2014
Laracon 2014 in NYC
Laravel製アプリの紹介
LARAVEL2014
F1 Circuits Weatherアプリ事例http://www.f1circuitsweather.com
LARAVEL2014
登録Webサイト数は約300
http://builtwithlaravel.com
Built with Laravel
なぜLaravelがいいの?
LARAVEL2014
1. MITライセンス
2. PHPの最新機能を積極的に使っている
3. 他のWebフレームワークのベストプラクティスを採用している
4. APIアクセスがわかりやすい(ファサード)
5. テスト駆動開発(TDD)も可能
Laravel4のいいところ
Laravel4 v.s. 日本で人気の○○
LARAVEL2014
CakePHPは、Ruby on Rails流の「設定より規約優先」なパラダイムによる高速開発PHPフレームワーク。
比較項目 Laravel4 CakePHP3
PHP Composer Composer
OR オブジェクト配列 オブジェクト配列
PHP 5.4 5.4
おや!? 似てきたぞ
Laravel4 v.s. CakePHP3
LARAVEL2014
FuelPHPはCodeIgniterの流れを汲む、シンプルかつ柔軟で高速軽量なWebアプリケーションフレームワーク。
比較項目 Laravel4 FuelPHP2
PHP Composer Composer
マイグレーション Rails Rails
ファサード あり あり
PHP 5.4 5.4
おや!? 似てきたぞ
Laravel4 v.s. FuelPHP2
Laravel4の特徴的要素
LARAVEL2014
• インターフェース、アブストラクト(PHP5~)
• マジックメソッド(PHP5~)
• クラスのオートロード(PHP5.1.2~)
• 名前空間(PHP5.3~)
• クロージャ(PHP5.3~)
• トレイト(PHP5.4~)
フレームワークを支えるPHP5の言語機能
LARAVEL2014
英語識別子の表現方法
英文 キャメルケース スネークケース
get rack getRack get_rack
where ‘rack_name’ whereRackName where_rack_name
LARAVEL2014
• PHPパッケージ管理の定番
• 30,000パッケージ以上登録済み
• モダンなPHP Webフレームワークにはほぼ採用されている
• Composerからインストール可能$> composer create-project laravel/laravel MyProject $> composer create-project october/october --stability dev MyCrm
Composerによるパッケージ管理
LARAVEL2014
ファサード(Facade)Laravel4
残念ながら名前空間とは相性がよくない
• コードが読みやすい • コードを書きやすい
LARAVEL2014
マイグレーション(Migration)Laravel4
• データベース固有のSQLを書かなくていい • 使うだけでテーブル変更履歴が残る
LARAVEL2014
• ORマッパー • ファサードとマジックメソッドを使った柔軟な表記 • 充実したモデル関連定義(1対1、1対多、多対多、仮想)
エロクワント(Eloquent)Laravel4
LARAVEL2014
ブレード(Blade)Laravel4
• HTMLテンプレートエンジン • 実行時にPHPコードに変換される
LARAVEL2014
JavaScriptフレームワークLaravel4
Ember.js
すべて使えます
LARAVEL2014
IoCコンテナ
• 識別子や型情報を持ったオブジェクトコンテナ。(DIコンテナ)
• ファサードの実装に使われるためLaravelコアに組み込まれている。
• テスト駆動開発を支える重要なアーキテクチャ。
• コンストラクタ・インジェクションの挙動把握が鍵。
Laravel4
LARAVEL2014
• PHP5で追加された言語機能がモダンなWebフレームワークのベースとなっている。
• ファサード・マイグレーション・エロクワント・ブレードなど洗練された機能がある。
• IoCコンテナとコンストラクタインジェクションがテスト駆動開発を可能にする。
まとめLaravel4
Laravel日本語情報
LARAVEL2014
コミュニティ&ニュース
Facebookグループ
Facebookページ
https://www.facebook.com/groups/laravel.jp/
https://www.facebook.com/jp.laravel
LARAVEL2014
フォーラム
日本語で質問ができます ミートアップや勉強会の募集ができます
http://io.laravel.jp/forum
LARAVEL2014
日本語書籍
LARAVEL2014
勉強会
東京や福岡で行われています
各国のLaravelサイト
ご清聴ありがとうございました
質問をどうぞ
あったかマネー研究会