SlideShare uma empresa Scribd logo
1 de 45
ウェブ職人のための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はクラス名に名札を付与する
❖ useは多重継承を可能にする仕組み
<第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.

Mais conteúdo relacionado

Mais procurados

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 FASTKenichi 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
 
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門leverages_event
 
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfkToshiaki Maki
 
flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享Eugene Wang
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTipsKenjiro Kubota
 
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発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 2013OSSラボ株式会社
 
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 LaravelJunKeun 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_r12Ryuji Yamashita
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
React入門-JSONを取得して表示する
React入門-JSONを取得して表示するReact入門-JSONを取得して表示する
React入門-JSONを取得して表示する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
 

Mais procurados (20)

Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうPhpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろう
 
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
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
 
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfk
 
flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
 
Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03
 
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
 
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
 
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel
 
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
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
React入門-JSONを取得して表示する
React入門-JSONを取得して表示するReact入門-JSONを取得して表示する
React入門-JSONを取得して表示する
 
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するなら
 
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
Cakephp
CakephpCakephp
Cakephp
 

Destaque

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 monthsManuel Bernhardt
 
Symfony開発者がLaravelしようとして云々
Symfony開発者がLaravelしようとして云々Symfony開発者がLaravelしようとして云々
Symfony開発者がLaravelしようとして云々mimizuk
 
LaravelアプリケーションをSeleniumでテストしてみた
LaravelアプリケーションをSeleniumでテストしてみたLaravelアプリケーションをSeleniumでテストしてみた
LaravelアプリケーションをSeleniumでテストしてみたYuta Ohashi
 
魔法少女 Laravel 2014
魔法少女 Laravel 2014魔法少女 Laravel 2014
魔法少女 Laravel 2014Kenichi Mukai
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよMasaru Matsuo
 
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel HomesteadShota 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.5Kenichi Mukai
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravelMasaru 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.2Nobuhiro Nakashima
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaYoshihiro Iwanaga
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
基礎からのベイズ統計学 2章 勉強会資料
基礎からのベイズ統計学 2章 勉強会資料基礎からのベイズ統計学 2章 勉強会資料
基礎からのベイズ統計学 2章 勉強会資料at grandpa
 
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきことpupupopo88
 

Destaque (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
 
Symfony開発者がLaravelしようとして云々
Symfony開発者がLaravelしようとして云々Symfony開発者がLaravelしようとして云々
Symfony開発者がLaravelしようとして云々
 
3 tips of Laravel
3 tips of Laravel3 tips of Laravel
3 tips of Laravel
 
LaravelアプリケーションをSeleniumでテストしてみた
LaravelアプリケーションをSeleniumでテストしてみたLaravelアプリケーションをSeleniumでテストしてみた
LaravelアプリケーションをSeleniumでテストしてみた
 
魔法少女 Laravel 2014
魔法少女 Laravel 2014魔法少女 Laravel 2014
魔法少女 Laravel 2014
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
 
Express yourself
Express yourselfExpress yourself
Express yourself
 
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel Homestead
 
Laravel の学び方と得られる学び
Laravel の学び方と得られる学びLaravel の学び方と得られる学び
Laravel の学び方と得られる学び
 
第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
 
PHP meets NodeJS
PHP meets NodeJSPHP meets NodeJS
PHP meets NodeJS
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravel
 
Why Play Framework is fast
Why Play Framework is fastWhy Play Framework is fast
Why Play Framework is fast
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
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
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
基礎からのベイズ統計学 2章 勉強会資料
基礎からのベイズ統計学 2章 勉強会資料基礎からのベイズ統計学 2章 勉強会資料
基礎からのベイズ統計学 2章 勉強会資料
 
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
 

Semelhante a <第1回>Laravelハンズオンセミナー

Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerHideo Kashioka
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみてSotaro Omura
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarSotaro Karasawa
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1Fumito Mizuno
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
最新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.1kenjis
 
LaravelでAPI定義を管理する
LaravelでAPI定義を管理するLaravelでAPI定義を管理する
LaravelでAPI定義を管理するKenjiro Kubota
 
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012Yusuke 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龍一 田中
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会Yuji Otani
 
Laravel本とコミュニティの話
Laravel本とコミュニティの話Laravel本とコミュニティの話
Laravel本とコミュニティの話Kazuaki KURIU
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxHideo Kashioka
 

Semelhante a <第1回>Laravelハンズオンセミナー (20)

Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
Silex入門
Silex入門Silex入門
Silex入門
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
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
 
LaravelでAPI定義を管理する
LaravelでAPI定義を管理するLaravelでAPI定義を管理する
LaravelでAPI定義を管理する
 
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
 
Using Dancer
Using DancerUsing Dancer
Using Dancer
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
 
Laravel本とコミュニティの話
Laravel本とコミュニティの話Laravel本とコミュニティの話
Laravel本とコミュニティの話
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
 

<第1回>Laravelハンズオンセミナー

Notas do Editor

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