狠狠撸

狠狠撸Share a Scribd company logo
ウェブ職人のためのPHPフレームワーク
<第1回>初めての
Laravel PHPフレームワ
ーク講座
水野 竜与志
- Tatsuyoshi Mizuno
<第1回>初めてのLaravel PHPフレームワーク講座で学べる
こと
? WEBフレームワークとは
? Laravelのここが良い
? Laravelの情報源と公式サイトの紹介
? Laravelを理解するために
? composerとは
? namespaceとは
? Laravelハンズオン!
? Laravelのインストール
? ローカル実行環境の作り方
? ビルトインサーバの起動
? コントローラの作成とルーティングの設定
? ビューの作成と表示
? データベースへのコネクション設定
? マイグレーションの作成と実行
? モデルの作成
? コントローラへ処理記述
ハンズオンの内容
<第1回>初めてのLaravel PHPフレーム
ワーク講座
講師紹介
? みずの たつよしです。
? フロントのUI?UX開発もやっています。
? AI?VRに関心あります。
Tatsuyoshi (タツヨシ)
http://elastic-info.jp/
https://www.facebook.com/tatsuyoshi964
<第1回>初めてのLaravel PHPフレームワーク講座
講習会が始まります
<第1回>初めてのLaravel PHPフレームワーク講座
WEBフレームワークとは
? フレームワークは骨組み
? 十分にテストされたライブラリの集合体
? MITライセンスが大半
? CMSよりも自由度が高いが学習コストが発生する
システム 必要な知識量 開発自由度 実行効率(速度)
CMS系 低?中 限定的 低
フレームワーク やや低?中 十分 中?高
PHPのみ 高 最高 最高
■開発効率比較表
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelのここが良い
? 多種多様で拡張が容易なバリデーション
? ページネートが簡単で高機能
? 学習コストの低いORM
? 実行しやすいテスト
? 他のフレームワークに比べると規約がゆるい
<第1回>初めてのLaravel PHPフレームワーク講座
バージョン推移とLTS
Version 特徴
Larval 1 軽量さが評価
Larval 3 WEB開発に必要なコンポーネントを集めだした
Larval 4
コンテナーの充実で大規模開発
がしやすくなった
Larval 5? LTSサポート!
※LTSは長期サポート対応の意味です。
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelの情報源と公式サイト
? 公式サイト http://laravel.jp/
? ドキュメント https://readouble.com/laravel/
? Facebook
https://www.facebook.com/groups/laravel.j
p/
? Google+
https://plus.google.com/communities/11800
6056115330646882
? その他 teratail.com, stack overflowなどなど??
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelを理解するために
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelを理解するためには
? composerでのパッケージ管理をする
? namespaceとuse宣言
解説します!
<第1回>初めてのLaravel PHPフレームワーク講座
composerとは
? Pearで苦労していませんか?
? composer.jsonでバージョン管理
? 公式サイト https://getcomposer.org/
? package公開 https://packagist.org/
composer.json
composer install
composer update
/vendor
/package1
/package2
/package3
リポジトリ
<第1回>初めてのLaravel PHPフレームワーク講座
namespaceとuse宣言
? クラスへ名札を付けるイメージ
? バックスラッシュ区切りでディレクトリ構造を定義できる
? 名前空間で定義されたクラス/関数/定数は先頭に名前空間を付与したものと
して認識される
? use宣言で別の名前空間のクラスをインポートできる
namespaceって?
まとめ
? composerはPHPのパッケージ管理の仕組み
? namespaceはクラス名に名札を付与する
? 耻蝉别は多重継承を可能にする仕组み
<第1回>初めてのLaravel PHPフレームワーク講座
Laravel ハンズオン!
<第1回>初めてのLaravel PHPフレームワーク講座
Laravel サンプルプログラムのダウンロード
URL ???
https://github.com/SOLTInc/techmeeting_laravel
_1st
コマンド ???
git clone
https://github.com/SOLTInc/techmeeting_laravel
_1st
クローン?ダウンロード
お好きな方でどうぞ!
<第1回>初めてのLaravel PHPフレームワーク講座
ハンズオンの進め方
? composerをインストールする
? サンプルプログラムより完成イメージを動作確認する
? プレーンなLaravelをインストールし組み上げる
? 詰まったらサンプルプログラムよりソースコードを持ってくる←
まわりのスタッフへ随時聞いてください(^o^)
<第1回>初めてのLaravel PHPフレームワーク講座
composerのインストール
1. PHP5.3以上であればcomposerは使用可
2. 実行ファイルをcurlで取得する
3. 実行ファイル$PATHの通っているディレクトリへ移動
4. バージョンの表示で完了です
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ composer -V
<第1回>初めてのLaravel PHPフレームワーク講座
サンプルプログラムを実行
1. cdコマンドでサンプルプログラムへ移動
2. composerでパッケージを取得する(GITでパッケージ追跡していない為。)
3. php artisanコマンドでビルトインサーバを起動
4. http://localhost:8000の表示で完了です
$ cd “Your Project Root Directory”
$ composer install
$ php artisan serve
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelをインストール
1. cdコマンドで講習会プログラム作成用のディレクトリへ移動
2. lessonというフォルダ名でLaravelがインストールされます
$ cd “Your project Directory”
$ composer create-project --prefer-dist laravel/laravel lesson
<第1回>初めてのLaravel PHPフレームワーク講座
ローカル実行環境の作り方
? Laravel専用VagrantBoxを使用する(HomeStead)
? ビルトインサーバを使用する
※講習会ではビルトインサーバを使用します
簡単な方法は大きく分けると2つ
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelの初期設定①
- timezone' => ‘UTC’
+ timezone' => ‘Asia/Tokyo'
- locale' => ‘en’
+ locale' => ‘ja'
/config / app.php
<第1回>初めてのLaravel PHPフレームワーク講座
Laravelの初期設定②
サンプルプログラムよりまるごと中身をコピーします。
※ソースコードの解説は致します。
/.env
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラの作成
1. 実行後コマンド下部に「Controller created successfully」が表示
さえれば成功です
2. 実行後、app / Http / Controllers へファイルが自動生成されます
3. それぞれ今回の講習会で使用します
$ php artisan make:controller PostController
$ php artisan make:controller ListController
$ php artisan make:controller DetailController
<第1回>初めてのLaravel PHPフレームワーク講座
ルーティング設定
- Route::get('/', function () {
- return view('welcome');
- });
+ Route::get('/', 'ListController@index');
+ Route::get('delete/{id}', 'ListController@delete');
+ Route::get('input', 'PostController@index');
+ Route::post('post', 'PostController@post');
+ Route::get('detail/{id}', 'DetailController@index');
app / Http / routes.php
<第1回>初めてのLaravel PHPフレームワーク講座
ビューの作成
Lesson 内、 viewsフォルダよりまるごと中身をコピーします。
resources / views /
public /
Lesson 内、 assetsフォルダをここへまるごとコピーします。
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラよりViewを表示①
+ public function index($id){
+ return view('detail');
+ }
app / Http / Controllers / DetailController.php
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラよりViewを表示②
+ public function index(){
+ return view('list');
+ }
+ public function delete($id){
+ return redirect('/');
+ }
app / Http / Controllers / ListController.php
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラよりViewを表示③
+ public function index(){
+ return view('input');
+ }
+ public function post(Request $inputs){
+ return redirect('/');
+ }
app / Http / Controllers / PostController.php
<第1回>初めてのLaravel PHPフレームワーク講座
実際にURLへアクセス、表示を確認
投稿一覧ページ http://localhost:8000/
投稿詳細ページ http://localhost:8000/detail/1
新規投稿ページ http://localhost:8000/input
<第1回>初めてのLaravel PHPフレームワーク講座
データベースへのコネクション設定
SQlite用DBファイルを作成
/ database / database.sqlite
.envへSQliteドライバー使用設定
+ DB_CONNECTION=sqlite
※サンプルプログラムよりコピーした.envファイルへ既に設定が入っています。
<第1回>初めてのLaravel PHPフレームワーク講座
マイグレーションファイルの作成
? 自動的にファイルが生成されます
? 投稿データ格納用のpostsテーブルするファイルを作成
? 投稿データのtug保存用のpost_tugsテーブルを作成
$ php artisan make:migration create_table_posts
$ php artisan make:migration create_table_post_tugs
<第1回>初めてのLaravel PHPフレームワーク講座
スキーマの定義を記述①
public function up()
{
+ Schema::create('posts', function(Blueprint $table)
+ {
+ $table->increments('id');
+ $table->string('title');
+ $table->string('category');
+ $table->text('description');
+ $table->string('picture');
+ $table->softDeletes();
+ $table->timestamps(); // created_atとupdate_atカラムの追加
+ });
}
public function down()
{
+ Schema::drop('posts');
}
database / migrations /
xx_xx_xx_xx_create_table_posts
<第1回>初めてのLaravel PHPフレームワーク講座
スキーマの定義を記述②
public function up()
{
+ Schema::create('post_tugs', function(Blueprint $table)
+ {
+ $table->increments('id');
+ $table->integer('post_id');
+ $table->string('tug_name');
+ $table->timestamps();
+ });
}
public function down()
{
+ Schema::drop('post_tugs');
}
database / migrations / xx_xx_xx_xx_create_tab
<第1回>初めてのLaravel PHPフレームワーク講座
マイグレーションを実行
? 作成したマイグレーションを作成日順に実行します
? 実行記録をデータベース内で管理します
? sqlitebrowerでDBを覗いてみましょう、テーブルが作成されていま
す
$ php artisan migrate
<第1回>初めてのLaravel PHPフレームワーク講座
モデルの作成
? 自動的にファイルが生成されます
? postsテーブルを参照するモデルファイルを作成
? post_tugsテーブルを参照するモデルファイルを作成
$ php artisan make:model PostTugModel
$ php artisan make:model PostModel
<第1回>初めてのLaravel PHPフレームワーク講座
モデルの設定①
+ protected $table = 'posts';
+ protected $fillable = [
+ 'title',
+ 'category',
+ 'description',
+ 'picture'
+ ];
+ protected $dates = [
+ 'deleted_at',
+ 'created_at'
+ ];
+ public function tugs()
+ {
+ return $this->hasMany('AppPostTugModel', 'post_id', 'id');
+ }
app / PostModel
<第1回>初めてのLaravel PHPフレームワーク講座
モデルの設定②
+ protected $table = ‘post_tugs';
+ protected $fillable = [
+ 'post_id',
+ 'tug_name',
+ ];
+ protected $dates = [
+ 'created_at'
+ ];
+
app / PostTugModel
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラロジック 一覧画面
use IlluminateHttpRequest;
use AppHttpRequests;
+ use AppPostModel;
public function index(){
+ $posts = PostModel::all();
- return view('list');
+ return view('list', compact('posts'));
}
public function delete($id){
+ $post = PostModel::find($id)->delete();
return redirect('/');
}
app / Http /Controllers / ListController.php
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラロジック 新規登録①
use IlluminateHttpRequest;
use AppHttpRequests;
+ use AppPostModel;
+ use AppPostTugModel;
public function index(){
+ $view_name = '記事投稿';
- return view('input');
+ return view('input',compact('view_name'));
}
public function post(Request $inputs){
+ $post = PostModel::create([
+ 'title' => $inputs['title'],
+ 'category' => $inputs['category'],
+ 'description' => $inputs['description'],
+ 'picture' => $inputs['picture'],
+ ]);
+ $id = $post->id;
app / Http /Controllers / PostController.php
???続く
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラロジック 新規登録②
+ foreach ($inputs['tugs'] as $key => $value) {
+ PostTugModel::create([
+ 'post_id' => $id,
+ 'tug_name' => $value,
+ ]);
+ }
+ return redirect('/');
}
app / Http /Controllers / PostController.php
<第1回>初めてのLaravel PHPフレームワーク講座
コントローラロジック 詳細画面
use IlluminateHttpRequest;
use AppHttpRequests;
+ use AppPostModel;
+ use AppPostTugModel;
public function index($id){
+ $post = PostModel::findOrFail($id);
+ $tugs = PostModel::find($id)->tugs()->get();
+ $view_name = $post->title;
- return view('detail');
+ return view('detail', compact('post', 'tugs', 'pagename', 'view_name'));
}
app / Http /Controllers / DetailController.php
<第1回>初めてのLaravel PHPフレームワーク講座
Viewの完成
resources / viewsを、一式まるごと動作確認を行ったサンプルプログ
ラムより移行します。
※ファイルを上書き保存されると変更が反映されないケースがございます、ファイル
を開きソースコードをコピーし保存終了願います。
サンプルプログラムよりコピー
<第1回>初めてのLaravel PHPフレームワーク講座
講習会が終わります
講師よりメッセージ
? お忘れ物にご注意ください(^_^;)
? 講習会だけでは意味がありません、実践しましょう!
? Facebookの申請を是非!
? 引き続き第2回もよろしくお願いします!
<第1回>初めてのLaravel PHPフレームワーク講座
FIN.

More Related Content

What's hot (20)

Phpフレームワーク 「laravel」て?フ?ロク?を作ろう
Phpフレームワーク 「laravel」て?フ?ロク?を作ろうPhpフレームワーク 「laravel」て?フ?ロク?を作ろう
Phpフレームワーク 「laravel」て?フ?ロク?を作ろう
Syouta Tada
?
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
A HUGE CHANGE RAILS 5 IS APPROACHING FASTA HUGE CHANGE RAILS 5 IS APPROACHING FAST
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
Kenichi Tachibana
?
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Tasuku Otani
?
叠别丑补迟で行う、贰2贰テスト入门
叠别丑补迟で行う、贰2贰テスト入门叠别丑补迟で行う、贰2贰テスト入门
叠别丑补迟で行う、贰2贰テスト入门
leverages_event
?
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfk
Toshiaki Maki
?
flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享
Eugene Wang
?
中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉
中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉
中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉
Kenjiro Kubota
?
Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03
驰补丑辞辞!デベロッパーネットワーク
?
尝补谤补惫别濒で蹿补肠补诲别を使わない开発
尝补谤补惫别濒で蹿补肠补诲别を使わない开発尝补谤补惫别濒で蹿补肠补诲别を使わない开発
尝补谤补惫别濒で蹿补肠补诲别を使わない开発
Kenjiro Kubota
?
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
翱厂厂ラボ株式会社
?
REACT & WEB API
REACT & WEB APIREACT & WEB API
REACT & WEB API
Shigeru Kondoh
?
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel
JunKeun Lee
?
PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
?
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
?
搁别补肠迟入门-闯厂翱狈を取得して表示する
搁别补肠迟入门-闯厂翱狈を取得して表示する搁别补肠迟入门-闯厂翱狈を取得して表示する
搁别补肠迟入门-闯厂翱狈を取得して表示する
regret raym
?
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するなら
Shohei Okada
?
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
Shohei Okada
?
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
kimulla
?
惭补惫别苍基础
惭补惫别苍基础惭补惫别苍基础
惭补惫别苍基础
Toshio Takiguchi
?
Phpフレームワーク 「laravel」て?フ?ロク?を作ろう
Phpフレームワーク 「laravel」て?フ?ロク?を作ろうPhpフレームワーク 「laravel」て?フ?ロク?を作ろう
Phpフレームワーク 「laravel」て?フ?ロク?を作ろう
Syouta Tada
?
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
A HUGE CHANGE RAILS 5 IS APPROACHING FASTA HUGE CHANGE RAILS 5 IS APPROACHING FAST
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
Kenichi Tachibana
?
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Tasuku Otani
?
叠别丑补迟で行う、贰2贰テスト入门
叠别丑补迟で行う、贰2贰テスト入门叠别丑补迟で行う、贰2贰テスト入门
叠别丑补迟で行う、贰2贰テスト入门
leverages_event
?
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfk
Toshiaki Maki
?
flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享
Eugene Wang
?
中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉
中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉
中?大规模で尝补谤补惫别濒を导入する罢颈辫蝉
Kenjiro Kubota
?
尝补谤补惫别濒で蹿补肠补诲别を使わない开発
尝补谤补惫别濒で蹿补肠补诲别を使わない开発尝补谤补惫别濒で蹿补肠补诲别を使わない开発
尝补谤补惫别濒で蹿补肠补诲别を使わない开発
Kenjiro Kubota
?
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
翱厂厂ラボ株式会社
?
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel
JunKeun Lee
?
PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレカ?シーマイク?レーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
?
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
?
搁别补肠迟入门-闯厂翱狈を取得して表示する
搁别补肠迟入门-闯厂翱狈を取得して表示する搁别补肠迟入门-闯厂翱狈を取得して表示する
搁别补肠迟入门-闯厂翱狈を取得して表示する
regret raym
?
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するなら
Shohei Okada
?
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
Shohei Okada
?
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
kimulla
?

Viewers also liked (20)

Project Phoenix - From PHP to the Play Framework in 3 months
Project Phoenix - From PHP to the Play Framework in 3 monthsProject Phoenix - From PHP to the Play Framework in 3 months
Project Phoenix - From PHP to the Play Framework in 3 months
Manuel Bernhardt
?
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々
mimizuk
?
3 tips of Laravel
3 tips of Laravel3 tips of Laravel
3 tips of Laravel
Kazuaki KURIU
?
尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた
尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた
尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた
Yuta Ohashi
?
魔法少女 Laravel 2014
魔法少女 Laravel 2014魔法少女 Laravel 2014
魔法少女 Laravel 2014
Kenichi Mukai
?
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
Masaru Matsuo
?
Express yourself
Express yourselfExpress yourself
Express yourself
Yaniv Rodenski
?
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel Homestead
Shota Inoue
?
Laravel の学び方と得られる学び
Laravel の学び方と得られる学びLaravel の学び方と得られる学び
Laravel の学び方と得られる学び
Masaru Matsuo
?
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
Kenichi Mukai
?
PHP meets NodeJS
PHP meets NodeJSPHP meets NodeJS
PHP meets NodeJS
Takayuki Yamaguchi
?
今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒
Masaru Matsuo
?
Why Play Framework is fast
Why Play Framework is fastWhy Play Framework is fast
Why Play Framework is fast
Legacy Typesafe (now Lightbend)
?
狈辞诲别.箩蝉入门
狈辞诲别.箩蝉入门狈辞诲别.箩蝉入门
狈辞诲别.箩蝉入门
俊夫 森
?
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ?
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ? AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ?
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ?
崇之 清水
?
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
?
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
?
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
?
基礎からのヘ?イス?統計学 2章 勉強会資料
基礎からのヘ?イス?統計学 2章 勉強会資料基礎からのヘ?イス?統計学 2章 勉強会資料
基礎からのヘ?イス?統計学 2章 勉強会資料
at grandpa
?
新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと
新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと
新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと
pupupopo88
?
Project Phoenix - From PHP to the Play Framework in 3 months
Project Phoenix - From PHP to the Play Framework in 3 monthsProject Phoenix - From PHP to the Play Framework in 3 months
Project Phoenix - From PHP to the Play Framework in 3 months
Manuel Bernhardt
?
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々
mimizuk
?
尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた
尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた
尝补谤补惫别濒アプリケーションを厂别濒别苍颈耻尘でテストしてみた
Yuta Ohashi
?
魔法少女 Laravel 2014
魔法少女 Laravel 2014魔法少女 Laravel 2014
魔法少女 Laravel 2014
Kenichi Mukai
?
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
Masaru Matsuo
?
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel Homestead
Shota Inoue
?
Laravel の学び方と得られる学び
Laravel の学び方と得られる学びLaravel の学び方と得られる学び
Laravel の学び方と得られる学び
Masaru Matsuo
?
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
Kenichi Mukai
?
今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒
Masaru Matsuo
?
狈辞诲别.箩蝉入门
狈辞诲别.箩蝉入门狈辞诲别.箩蝉入门
狈辞诲别.箩蝉入门
俊夫 森
?
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ?
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ? AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ?
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 ? Promise による非同期オペレーション ?
崇之 清水
?
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
?
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
?
基礎からのヘ?イス?統計学 2章 勉強会資料
基礎からのヘ?イス?統計学 2章 勉強会資料基礎からのヘ?イス?統計学 2章 勉強会資料
基礎からのヘ?イス?統計学 2章 勉強会資料
at grandpa
?
新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと
新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと
新入社员の技术研修に関してありがちな问题を解决するためにやったことやるべきこと
pupupopo88
?

Similar to <第1回>尝补谤补惫别濒ハンズオンセミナー (20)

Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
?
贵耻别濒笔贬笔をさわってみて
贵耻别濒笔贬笔をさわってみて贵耻别濒笔贬笔をさわってみて
贵耻别濒笔贬笔をさわってみて
Sotaro Omura
?
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
jamadam
?
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
?
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
?
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
?
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
?
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
?
厂颈濒别虫入门
厂颈濒别虫入门厂颈濒别虫入门
厂颈濒别虫入门
Takuya Sato
?
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
?
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
?
尝补谤补惫别濒て?础笔滨定义を管理する
尝补谤补惫别濒て?础笔滨定义を管理する尝补谤补惫别濒て?础笔滨定义を管理する
尝补谤补惫别濒て?础笔滨定义を管理する
Kenjiro Kubota
?
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
?
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
Hideo Kashioka
?
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
?
尝补谤补惫别濒本とコミュニティの话
尝补谤补惫别濒本とコミュニティの话尝补谤补惫别濒本とコミュニティの话
尝补谤补惫别濒本とコミュニティの话
Kazuaki KURIU
?
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
Hideo Kashioka
?
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
?
贵耻别濒笔贬笔をさわってみて
贵耻别濒笔贬笔をさわってみて贵耻别濒笔贬笔をさわってみて
贵耻别濒笔贬笔をさわってみて
Sotaro Omura
?
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
jamadam
?
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
?
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
?
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
?
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
?
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
?
厂颈濒别虫入门
厂颈濒别虫入门厂颈濒别虫入门
厂颈濒别虫入门
Takuya Sato
?
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
?
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
?
尝补谤补惫别濒て?础笔滨定义を管理する
尝补谤补惫别濒て?础笔滨定义を管理する尝补谤补惫别濒て?础笔滨定义を管理する
尝补谤补惫别濒て?础笔滨定义を管理する
Kenjiro Kubota
?
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
?
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
Hideo Kashioka
?
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
?
尝补谤补惫别濒本とコミュニティの话
尝补谤补惫别濒本とコミュニティの话尝补谤补惫别濒本とコミュニティの话
尝补谤补惫别濒本とコミュニティの话
Kazuaki KURIU
?
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
Hideo Kashioka
?

<第1回>尝补谤补惫别濒ハンズオンセミナー

Editor's Notes

  • #6: ■フレームワーク 実装するべき処理を、いくつかのパッケージを組み合わせて開発速度構築を容易 実装にはフレームワークのコーディングがルールが制約されますが、制約に従うことで実装を容易に PHPに限った概念ではない ■MITライセンス MITライセンスのもとで配布されているものは、改変でも、再配布でも、商用利用でも、有料販売でも、どんなことにでも自由に無料でつかうことができます。守らなくてはいけない条件は、「著作権表示」と「MITライセンスの全文」を記載する、という条件だけです。(なお、「MITライセンスの全文」を記載する代わりに、MITライセンスの全文が記載されているウェブページのURLを記載することも認められています。)
  • #7: Laravelが提供するコンポーネントは扱いやすい 代表格でページネートとバリデーションがある 独自のORMを実装しており、学習コストが低く可読性が高い 今回は触れないが、フレームワークで実装しているpackageや、実装したモジュールの単体テストがしやすい FuelPHPやCakeなどのDirectory構造に強く制約はないのが扱いやすい 規約はゆるく、様々なデザインパターンに対応する
  • #8: 大きあメジャーバージョンアップは毎年ッて感じ。 LTSはメジャー長期サポートの意味、 2年間ごとにアップされる LTS版はバグフィックスは2年間、脆弱性の対応は3年間、長期的なプロジェクトも安心
  • #12: ■pear(ペアー) ?インフラ部隊に依頼する必要がったりする ?ローカルとローンチ環境を統一しにくい
  • #13: namespaceは、BOM付きのutf-8で使用すると怒られます。 参考:http://www.slideshare.net/KosukeHorii/5-9037647