SlideShare a Scribd company logo
今、世界でもっとも注目されている
Laravelを使ってみた
鄭在燮
なぜ選んだのか
未経験のフレームワークが使ってみた
かった。
そしてググる...
グーグルトレンド
だか...
日本国内では
選定理由もう一点あります。
日本語ドキュメントが充実
• 日本語翻訳率100%!
http://readouble.com/laravel/
しかも、韓国語のドキュメントもあった…
※ほんとうはベンチマークとか、情報
収集とか、しっかりやりましょう。
概要&豆知識
• マイクロソフトの.NETの開発に関わっていたTaylor Otwellが開発
• PHP5.3以上(最新バージョンは5.4以上)
• MITライセンス
• バージョン
Laravel1 2011年6月
Laravel2 2011年11月
Laravel3 2012年2月
Laravel4 2013年5月
Laravel5 2015年1月 ← 最初は4.3想定のものがメジャーバージョンアップになった
• ソースの読み書きが簡単
• 学習コストが低い
• ベンチマーク結果はよくない
http://blog.s-page.org/archives/563
• 大型システムで使われた実績は今のところない模様
• 英語圏の国ではCodeIgniter、FuelPHP、CakePHPとよく比較されている
• 2014年における最も有望なPHPフレームワークの1つとして挙げられた
http://www.sitepoint.com/best-php-frameworks-2014/
• ドキュメント翻訳&日本にLaravelを浸透させている先駆者はHirohisa Kawaseさん
https://www.facebook.com/hirokws
• Laravel関連書籍
http://qiita.com/mukaken/items/2058a193ee0ce6fbfd30
機能
認証(Auth)、キャッシュ、Eloquent、MySQL、
PostgreSQL、SQlite、SQLServer、マイグレーション、
IoCコンテナ、Config、Formヘルパー、HTMLヘル
パー、URLヘルパー、ルーティング、コントロー
ラー、モデル、ビュー、モデル間のリレーション
シップ、リダイレクト、レスポンス、String(文字列)
ヘルプ関数、バリデーション、ユニットテスト、
Bladeテンプレートエンジン、DB Seeding、キュー、
メール、ファサード(Facade)、コマンドライン、拡
張性
キャッシュ
• Memcached、Redis、APCなどのIn-MemoryキャッシュシステムがなくてもLaravelではキャッシュが
使える
Cache::put('key', 'value', $minutes);
Cache::has('key')
Cache::get('key');
Cache::forever('key', 'value');
• Filesystemに保存となるので本格的に使う場合は、In-Memoryキャッシュシステムをおすすめ
Redis
• Composerによりpredisをインストールする必要がある。
'redis' => [
'cluster' => true,
'default' => ['host' => '127.0.0.1', 'port' => 6379],
],
$redis = Redis::connection();
$redis->set('name', 'Taylor');
$redis->get('name');
MySQL
• 設定と使い方がとても簡単
'mysql' => [
'read' => [
'host' => '192.168.1.1',
],
'write' => [
'host' => '196.168.1.2‘
],
'driver' => 'mysql',
'database' => 'database',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
],
DB::select($sql, $param);
DB::insert($sql, $param);
DB::update($sql, $param);
DB::beginTransaction();
DB::rollback();
DB::commit();
Config
• 自由な書き方
‘AAA' => 2,
‘BBB' => array(
1 => 'station_name‘,
2 => 'dept_name‘
),
‘CCC' => app_path() . '/test.csv',
Config::get('code_define.AAA');
• 環境毎設定(Default&オーバーライド)
$env = $app->detectEnvironment(array(
‘dev’ => array(マシンのホスト名),
'stg' => array(マシンのホスト名),
));
RESTful
Route::controller('hello/', 'AppControllershelloController');
namespace AppControllers;
class helloController extends BaseController {
// getでhello/にアクセスされた場合
public function getIndex() {
〜
}
// getでhello/goodmorningにアクセスされた場合
public function getGoodmorning() {
〜
}
// postでhello/goodmorningにアクセスされた場合
public function postGoodmorning() {
〜
}
// getでhello/goodmorning/messageでアクセスされた場合
public function getGoodmorning($message) {
〜
}
}
Resourceful
Route::resource('hello', 'AppControllershelloController');
namespace AppControllers;
class helloController extends BaseController {
// getでhello/にアクセスされた場合
public function index() {
〜
}
// getでhello/createにアクセスされた場合
public function create() {
〜
}
// postでhello/にアクセスされた場合
public function store() {
〜
}
// getでhello/messageにアクセスされた場合
public function show($message) {
〜
}
// getでhello/message/editにアクセスされた場合
public function edit($message) {
〜
}
// putまたはpatchでhello/messageにアクセスされた場合
public function update($message) {
〜
}
// deleteでhello/messageにアクセスされた場合
public function destroy($message) {
〜
}
}
バリデーション
public $validate_rules = array(
'id' => 'required|numeric|min:1',
'text' => 'required',
'offset' => 'numeric',
);
accepted
そのフィールドがyes、on、もしくは1であることをバリデートします。これは「サービス利用規約」同意のバリデーショ
ンに便利です。
in:foo,bar...
フィールドが指定されたリストの中の値に含まれていることをバリデートします。
integer
フィールドが整数値であることをバリデートします。
required
フィールドに入力データーが存在することをバリデートします。
ip
フィールドがIPアドレスの形式として正しいことをバリデートします。
boolean
フィールドが論理値として有効であることをバリデートします。受け入れられる入力は、true、false、1、0、"1"、"0"で
す。
email
フィールドがメールアドレスとして正しいことをバリデートします。
その他、多数あります。
メール
'driver' => 'smtp',
'host' => 'yourhost.com',
'port' => 25,
'from' => array('address' => 'admin@text,com', 'name' => 'admin_user'),
Mail::send(array('text' => $template), $param, function ($message) use ($to_address, $title) {
foreach ($to_address as $key => $val) {
$message->to($val);
}
$message->subject($title);
$message->getSwiftMessage()->getHeaders()->addTextHeader('Reply-To', "admin <admin@test.com>");
});
拡張性
• Composerを利用
• INSTALL
composer create-project laravel/laravel --prefer-dist
その他気になる機能
• 認証(ソーシャル認証)
• 暗号化
• ハッシュ
• ファサード
• 多言語化
• ペジネーション
• キュ
• セッション
• テンプレート
• ユニットテスト
使ってみてどうだった?
速度を重視するなら他の爆速と言わ
れているフレームワークがいいかも…
けど、Laravelは使いやすいし、楽し
かった。小規模システムや個人の何か
を開発するにはいい。大概の機能や
概念が溶け込んでいるので初心者に
おすすめできる。
おわり

More Related Content

PDF
Laravel の学び方と得られる学び
PDF
LaravelとMVCの先へ
PDF
Laravel5.1をつかったWebアプリケーション開発
PPTX
〜laravel で学ぶ MVC
PDF
php開発で使うタスクランナー gulp
PDF
Laravel5.1 Release
PPTX
Laravelチュートリアルを作ってみた。
PDF
Laravel 5.1 LTSでサービスを作る
Laravel の学び方と得られる学び
LaravelとMVCの先へ
Laravel5.1をつかったWebアプリケーション開発
〜laravel で学ぶ MVC
php開発で使うタスクランナー gulp
Laravel5.1 Release
Laravelチュートリアルを作ってみた。
Laravel 5.1 LTSでサービスを作る

What's hot (20)

PPTX
今日から始めるLaravel
PPTX
Phpフレームワーク 「laravel」でブログを作ろう
PDF
Androidアプリ開発にクリーンアーキテクチャを取り入れよう (OSS編)
PDF
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
PDF
Laravelのパッケージのテストに便利なパッケージ
PDF
フレームワークを使うべき 3 つの理由
PDF
Laravelから学びレガシーと闘いはじめた
PDF
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
PPT
Perl Beginners #7 おとなのWAF
PDF
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PDF
Laravel meetup5(Laravel meet NewSQL/VoltDB )
PDF
[jjug] Java と Benchmark
PDF
究極にして至高のWAF
PDF
Javaで1から10まで書いた話(sanitized)
PPTX
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
PDF
Composer並列化プラグイン #phpblt
PDF
phpspecで始めるBDD
PPTX
PHPから離れて感じるPHPの良さ
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PDF
PHPの今とこれから2015
今日から始めるLaravel
Phpフレームワーク 「laravel」でブログを作ろう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう (OSS編)
Laravel Mix とは何なのか? - Laravel/Vue 勉強会 #1
Laravelのパッケージのテストに便利なパッケージ
フレームワークを使うべき 3 つの理由
Laravelから学びレガシーと闘いはじめた
0から学んだポストモダンPerl @ YAPC::Asia Tokyo 2013
Perl Beginners #7 おとなのWAF
PHP フィールドインジェクションに挑戦する PHP勉強会2014
Laravel meetup5(Laravel meet NewSQL/VoltDB )
[jjug] Java と Benchmark
究極にして至高のWAF
Javaで1から10まで書いた話(sanitized)
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
Composer並列化プラグイン #phpblt
phpspecで始めるBDD
PHPから離れて感じるPHPの良さ
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PHPの今とこれから2015
Ad

Viewers also liked (20)

PDF
ビルドサーバで使うDocker
PDF
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
PPTX
アプリチームを支えるSlack bot
PDF
Laravel / Lumen 次の一歩
PDF
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
PDF
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
PPTX
Laravel LT
PDF
3 tips of Laravel
PDF
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
PPTX
JavaScriptから利用するFirebase
PDF
わかってるフレームワーク Laravel
PDF
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
PDF
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
PPTX
[Laravel] CRUDアプリから一歩踏み出す3つのアプローチ
PDF
デザインにもこだわったUiの事始め3
PDF
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PPTX
20151205フルスクラッチcms作成のノウハウ With Laravel
PDF
Laravel ユーザなら知っておくべきAuthオートログイン
PDF
LaravelでDBを使用しないbasic認証を簡単につくるtips
PPTX
使った気になれるFirebase
ビルドサーバで使うDocker
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
アプリチームを支えるSlack bot
Laravel / Lumen 次の一歩
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
Laravel LT
3 tips of Laravel
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
JavaScriptから利用するFirebase
わかってるフレームワーク Laravel
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
[Laravel] CRUDアプリから一歩踏み出す3つのアプローチ
デザインにもこだわったUiの事始め3
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
20151205フルスクラッチcms作成のノウハウ With Laravel
Laravel ユーザなら知っておくべきAuthオートログイン
LaravelでDBを使用しないbasic認証を簡単につくるtips
使った気になれるFirebase
Ad

Similar to Laravelを使ってみた (17)

PPT
今、最もイケてるPHPフレームワークLaravel4
PDF
Creators meetup5
PPTX
Laravelではじめる Webアプリケーション開発
PDF
魔法少女 Laravel 2014
PDF
今、最もイケてるPHPフレームワークLaravel4
PDF
Laravel shibuya 3 Laravel Beginner IRT
PPTX
20180425 phpstudy-my-first-laravel
PDF
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
PDF
Laravel4で運用するサービス,そしてlaravel5へ
PDF
Laravelのすごいと思うところを 初級レベルで語ってみる。
PPTX
Laravel本とコミュニティの話
PDF
Laravel 5.3 で basic task list を作ろう!
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
PDF
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
PPTX
Laravel環境構築
PPTX
<第1回>Laravelハンズオンセミナー
PDF
魔法少女 Laravel
今、最もイケてるPHPフレームワークLaravel4
Creators meetup5
Laravelではじめる Webアプリケーション開発
魔法少女 Laravel 2014
今、最もイケてるPHPフレームワークLaravel4
Laravel shibuya 3 Laravel Beginner IRT
20180425 phpstudy-my-first-laravel
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
Laravel4で運用するサービス,そしてlaravel5へ
Laravelのすごいと思うところを 初級レベルで語ってみる。
Laravel本とコミュニティの話
Laravel 5.3 で basic task list を作ろう!
Laravel_オープンソースカンファレンスhokkaido_JP_2014
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
Laravel環境構築
<第1回>Laravelハンズオンセミナー
魔法少女 Laravel

Laravelを使ってみた