Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Laravelではじめる
Webアプリケーション開発
ゆきしお(@YuxioArts)
アジェンダ
1.自己紹介
2.登壇理由と今回お話する内容
3.フレームワークとは
4.Laravelとは
5.機能紹介
6.Q&A
7.最後に
1.自己紹介
1.自己紹介
名前:ゆきしお(@YuxioArts)
職業:データアナリスト(2年目)
趣味:Webサービスの開発
(前職がWeb系でありフロント・バックでLaravelを使用。
趣味の開発でも継続して使用。)
Laravel使用歴:1.5年ほ...
2.登壇理由と今回お話する内容
2.登壇理由と今回お話する内容
今回登壇した理由
「Laravelを知らない方向けにひとまず
ざっくりと理解してもらって使うきっかけになってほしいと思ったから」
話す内容
・web開発で使用する主な機能紹介(ディレクトリ構成・MVC・エラーハン...
3.フレームワークとは
3.フレームワークとは
アプリケーション構築に必要な機能が組み合わされ、
開発準備が整っている基本的なソフトウェアのことを指す。
⇛生のPHP等の言語を使うよりも、効率よく開発を行うことができる
⇛また、ライブラリやパッケージを導入することで機...
4.Laravelとは
4.Laravel(ララベル)とは
• MVCのWebアプリケーション開発用の
PHPフレームワーク(無料)
・Githubにホスティングされており、PHP
フレームワークの中でスター数は1位
・機能追加等のマイナーリリースは
半年単位で行われ...
4.Laravelとは ~世界と日本でみるPHPフレームワークのトレンド推移~
日本での推移
世界での推移
2012年から2017年の
過去5年分のPHPフレームワーク
のトレンドの推移を見ると
世界・日本共に青色のLaravelが
上昇してい...
4.Laravelとは ~Qiitaでの投稿数やフォロワー~
日本でPHPのフレームワークの主流と言われてい
るCakePHPよりLaravelの方が投稿数やフォロワー
数が多い。
⇛投稿数の多さから使用している、勉強している
方が多い
⇛フォ...
5.機能紹介
プロジェクト・ディレクトリ・ファイル構成
デフォルトでモデルやコントローラーを作成・設置
言語やDBなどの設定ファイルを作成・設置
マイグレーションなどDBに関連するファイルを作成・設置
CSSやJSを設置。WEBサーバーのドキュメントルートと...
ルーティング管理
基本的にroutes配下のweb.phpに作成。api関係ならapi.phpに作成。
URLと使用するメソッドを記載
モデル概要、モデル例
デフォルトだとapp直下に作成。Model名はキャメル記法。
デフォルトでUserModelが作成される。
fillableで複数代入できるように設定
(カラムに値を入れる場合必須)そ
れ以外のものを設定したいときは、
$...
コントローラ概要、コントローラ例
デフォルトだとapp/Http/Controllers直下に作成。 Controller内にメソッドごとに作成
Eloquent ORM
Queryオブジェト
SQLを直接書けるなど
様々な書き方が可能
※El...
ビュー概要、ビュー例
Resources/viewsの直下にファイル作成。 ブラウザで表示させるページ。
HTMLはもちろん<?php ?>でくくっ
て処理も可能。デフォルトでログ
インに関する条件分岐での処理
も作成される。
@include...
CRUD例
Routes
URLと各CRUDのメソッドを記載
Controller
各CRUDの処理内容を記載 ※データ取得の部分のみ掲載
CRUD(Create(新規作成)」「Read(データ取得)」「Update(更新)」「Delete(削...
エラーハンドリング
エラー画面では明示的にエラーやDataの受け渡しなど表示される。
※画面は、バージョン5.5
エラーハンドリング
エラー画面も進化し、エンジニアに優しい画面となっている
現在の最新のバージョン
マイグレーション
どんなテーブルを作るかの設計書。
テーブル単位に作成
カラムの型は、
DATE型、Char型などが可能
Faker
ダミーデータの生成を行うパッケージ
FakerFactoryから呼び出し
25件のダミーデータを生成し
DBに保存する
多言語化サポート
Lang直下にその言語のフォルダを作成して多言語の文字列取得も可能。
英語(en)ファイルはデフォルトで作成される。ECサイトを構築する上では便利?
英語のメッセージが
予め用意されている
その他
使用できるコマンド一覧
php artisan list
Modelの作成
php artisan make:model Admin
マイグレーションの作成
php artisan make:migration create_admin...
その他
Eloquent ORM
各モデルを通してDBのテーブル対する抽出や挿入、更新を行う
⇛メリット 直感的に処理内容を入力することができる
⇛デメリット 複雑なSQLの処理になると生のSQLより可読性が低くなる
<単一行の処理>
$use...
その他
Frontend preset(React.js Vue.js Bootstrap)の使用
Vue.jsは、Laravelにデフォルトで設定されていたが、5.5からReact.js Bootstrapを
使用することが可能。
React...
6.Q&A
6.Q&A
Q.他の開発で別のフレームワークを使っています。今度、Laravelを使ってみようと思いますが学習
コストはどのくらいでしょうか?
A.基本的なDB、MVCの仕組みがわかっていれば開発可能かと思います。ざっくりとした内容を把
握する...
Q.学ぶ上参考となるサイトや書籍はありますか?
A.以下のサイトや書籍がおすすめです。
Laravelドキュメント(日本語サイト)
https://readouble.com/laravel/
ララ帳
https://laravel10.wor...
6.Q&A
Q.Laravelのコミュニティに参加したいのですがどんなものがありますか?
A.以下のコミュニティがございます。
Laracafe ★所属している おすすめ
https://laracafe.connpass.com/
Slack...
7.さいごに
まとめ
・Laravelは、MVCのWebアプリケーション開発用のPHPフレームワーク(無料)
・GithubでのPHPフレームワークのスター数で1位
・世界・日本共に人気急上昇
・Qiitaの投稿数もCakePHPより多い
・利便性が高い機能...
公式サイトとインストール手順
Laravel(公式サイト)
http://laravel.jp/
導入手順を解説!Laravelのインストール方法【初心者向け】
https://techacademy.jp/magazine/11521
※最新...
よいLaraLifeを!
Let’s composer create-project --prefer-dist laravel/laravel
Enjoy_Laravel_Project
Upcoming SlideShare
Loading in …5
×

Laravelではじめる Webアプリケーション開発

458 views

Published on

WEBフレームワーク品評会で発表した「Laravelではじめる
Webアプリケーション開発」の資料です。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Laravelではじめる Webアプリケーション開発

  1. 1. Laravelではじめる Webアプリケーション開発 ゆきしお(@YuxioArts)
  2. 2. アジェンダ 1.自己紹介 2.登壇理由と今回お話する内容 3.フレームワークとは 4.Laravelとは 5.機能紹介 6.Q&A 7.最後に
  3. 3. 1.自己紹介
  4. 4. 1.自己紹介 名前:ゆきしお(@YuxioArts) 職業:データアナリスト(2年目) 趣味:Webサービスの開発 (前職がWeb系でありフロント・バックでLaravelを使用。 趣味の開発でも継続して使用。) Laravel使用歴:1.5年ほど。他のPHPフレームワークの使用経験は0。 フロント・バックで開発をするも テストなどはまだ行ったことがない。 一言:今年中にLaravelを使用したサービスリリースを目標
  5. 5. 2.登壇理由と今回お話する内容
  6. 6. 2.登壇理由と今回お話する内容 今回登壇した理由 「Laravelを知らない方向けにひとまず ざっくりと理解してもらって使うきっかけになってほしいと思ったから」 話す内容 ・web開発で使用する主な機能紹介(ディレクトリ構成・MVC・エラーハンド リング等) ・Q&A(メリット・デメリット・参考書籍の紹介等) ・難しい・細かい内容は割愛
  7. 7. 3.フレームワークとは
  8. 8. 3.フレームワークとは アプリケーション構築に必要な機能が組み合わされ、 開発準備が整っている基本的なソフトウェアのことを指す。 ⇛生のPHP等の言語を使うよりも、効率よく開発を行うことができる ⇛また、ライブラリやパッケージを導入することで機能の拡充をはかること ができる など様々なメリットがある。
  9. 9. 4.Laravelとは
  10. 10. 4.Laravel(ララベル)とは • MVCのWebアプリケーション開発用の PHPフレームワーク(無料) ・Githubにホスティングされており、PHP フレームワークの中でスター数は1位 ・機能追加等のマイナーリリースは 半年単位で行われる。 (2017年8月30日に最新の5.5リリース! ※バグ修正などのLTS対応つき)
  11. 11. 4.Laravelとは ~世界と日本でみるPHPフレームワークのトレンド推移~ 日本での推移 世界での推移 2012年から2017年の 過去5年分のPHPフレームワーク のトレンドの推移を見ると 世界・日本共に青色のLaravelが 上昇している ⇛フレームワークとして人気を 集めている
  12. 12. 4.Laravelとは ~Qiitaでの投稿数やフォロワー~ 日本でPHPのフレームワークの主流と言われてい るCakePHPよりLaravelの方が投稿数やフォロワー 数が多い。 ⇛投稿数の多さから使用している、勉強している 方が多い ⇛フォロワー数の多さから注目度が高い
  13. 13. 5.機能紹介
  14. 14. プロジェクト・ディレクトリ・ファイル構成 デフォルトでモデルやコントローラーを作成・設置 言語やDBなどの設定ファイルを作成・設置 マイグレーションなどDBに関連するファイルを作成・設置 CSSやJSを設置。WEBサーバーのドキュメントルートとして指定 Webブラウザから見るページ(ビュー)を作成・設置 ルートの定義ファイルを作成・設置 接続先のDB情報等を記載
  15. 15. ルーティング管理 基本的にroutes配下のweb.phpに作成。api関係ならapi.phpに作成。 URLと使用するメソッドを記載
  16. 16. モデル概要、モデル例 デフォルトだとapp直下に作成。Model名はキャメル記法。 デフォルトでUserModelが作成される。 fillableで複数代入できるように設定 (カラムに値を入れる場合必須)そ れ以外のものを設定したいときは、 $guardedを使用 配列/json変換時に隠蔽され るカラムを指定
  17. 17. コントローラ概要、コントローラ例 デフォルトだとapp/Http/Controllers直下に作成。 Controller内にメソッドごとに作成 Eloquent ORM Queryオブジェト SQLを直接書けるなど 様々な書き方が可能 ※Eloquent ORM については後説明
  18. 18. ビュー概要、ビュー例 Resources/viewsの直下にファイル作成。 ブラウザで表示させるページ。 HTMLはもちろん<?php ?>でくくっ て処理も可能。デフォルトでログ インに関する条件分岐での処理 も作成される。 @includeを使えば、ヘッダーや フッターなどのコンポーネント単 位で使用可能
  19. 19. CRUD例 Routes URLと各CRUDのメソッドを記載 Controller 各CRUDの処理内容を記載 ※データ取得の部分のみ掲載 CRUD(Create(新規作成)」「Read(データ取得)」「Update(更新)」「Delete(削除)」) はControllerで処理。
  20. 20. エラーハンドリング エラー画面では明示的にエラーやDataの受け渡しなど表示される。 ※画面は、バージョン5.5
  21. 21. エラーハンドリング エラー画面も進化し、エンジニアに優しい画面となっている 現在の最新のバージョン
  22. 22. マイグレーション どんなテーブルを作るかの設計書。 テーブル単位に作成 カラムの型は、 DATE型、Char型などが可能
  23. 23. Faker ダミーデータの生成を行うパッケージ FakerFactoryから呼び出し 25件のダミーデータを生成し DBに保存する
  24. 24. 多言語化サポート Lang直下にその言語のフォルダを作成して多言語の文字列取得も可能。 英語(en)ファイルはデフォルトで作成される。ECサイトを構築する上では便利? 英語のメッセージが 予め用意されている
  25. 25. その他 使用できるコマンド一覧 php artisan list Modelの作成 php artisan make:model Admin マイグレーションの作成 php artisan make:migration create_admins_table --create=admins マイグレーションの実行 php artisan migrate Seederの作成 php artisan make:seeder AdminTableSeeder Seederの実行 php artisan db:seed コントローラーの作成 php artisan make:Controller UsersController ビルトインサーバーの立ち上げ php artisan serve --port=8081 ビルトインサーバーの立ち上げ(Port指定) php artisan serve --port=8081 認証用のログイン画面生成 php artisan make:auth Artisanコマンド Modelやcontrollerの雛形の作成 ダミーデータの作成 ビルトインサーバーの立ち上げなど コマンド一発でできるので便利
  26. 26. その他 Eloquent ORM 各モデルを通してDBのテーブル対する抽出や挿入、更新を行う ⇛メリット 直感的に処理内容を入力することができる ⇛デメリット 複雑なSQLの処理になると生のSQLより可読性が低くなる <単一行の処理> $users = User::where(‘id’, ‘=’, 10)->get(); $user = $users[0]; <集約関数> $max_price = Book::max(‘price’); //Bookテーブルの値段の最大値取得 <データの挿入 更新> $tag = new Tag(); //モデルTagをインスタンス化 $tag->name = ‘PHP’; //プロパティのセット $tag->save //保存
  27. 27. その他 Frontend preset(React.js Vue.js Bootstrap)の使用 Vue.jsは、Laravelにデフォルトで設定されていたが、5.5からReact.js Bootstrapを 使用することが可能。 React.jsを使用する場合のコマンド php artisan preset react Bootstrap使用する場合のコマンド php artisan preset bootstrap Vue.jsもBootstrapも使いたくない場合のコマンド php artisan preset none
  28. 28. 6.Q&A
  29. 29. 6.Q&A Q.他の開発で別のフレームワークを使っています。今度、Laravelを使ってみようと思いますが学習 コストはどのくらいでしょうか? A.基本的なDB、MVCの仕組みがわかっていれば開発可能かと思います。ざっくりとした内容を把 握するのであれば、すぐにはじめることができるので学習コストは低いと思います。 最初から全体の細かい部分まで把握しようとせず、使用して行く中で覚えていけばいいと思いま す。 Q.Laravelを選定する上でのメリット・デメリットを教えてください A.メリットは、利便性の高い機能が揃っていること、開発するのに自由性が高いことです。 デメリットは、自由が故、なんでも書けてしまうので規約が必要(特にチームや大規模開発時)な ところです。 Q.Laravelの軽量版でLumenというものがありますがどちらを使うべきですか? A.Laravelです。Lumenなど最低限の機能しか揃っていないのでライブラリ等を追加すると Laravelと基本変わらなくなるので、最初からLaravelを使っておくのが良いと思います。
  30. 30. Q.学ぶ上参考となるサイトや書籍はありますか? A.以下のサイトや書籍がおすすめです。 Laravelドキュメント(日本語サイト) https://readouble.com/laravel/ ララ帳 https://laravel10.wordpress.com/ 書籍 2017年9月16日 発売! 6.Q&A
  31. 31. 6.Q&A Q.Laravelのコミュニティに参加したいのですがどんなものがありますか? A.以下のコミュニティがございます。 Laracafe ★所属している おすすめ https://laracafe.connpass.com/ Slackあり。Laravelでつまづいたところなど聞くことができます。 Laravel Meetup Tokyo https://laravel-meetup-tokyo.connpass.com/ 他 TECH PLAYなど勉強会検索サイトで「laravel」と入力すると勉強会がヒットします。 https://techplay.jp/
  32. 32. 7.さいごに
  33. 33. まとめ ・Laravelは、MVCのWebアプリケーション開発用のPHPフレームワーク(無料) ・GithubでのPHPフレームワークのスター数で1位 ・世界・日本共に人気急上昇 ・Qiitaの投稿数もCakePHPより多い ・利便性が高い機能が豊富にあり、しかも使いやすい ・5.5からフロントエンドで最近主流Reactも使用可能に。 最新の動向を追っている ・勉強方法だとまずはざっくりと使ってみて、その後細かい所を把握していくの がベスト ・メリットは、利便性の高い機能が揃っている、開発するのに自由性が高い ・デメリットは、自由が故、なんでも書けてしまうので規約が必要(特にチームや 大規模開発時) ・日本語ドキュメントサイトもある ・入門書が2017年9月16日に発売 ・コミュニティや勉強会もある
  34. 34. 公式サイトとインストール手順 Laravel(公式サイト) http://laravel.jp/ 導入手順を解説!Laravelのインストール方法【初心者向け】 https://techacademy.jp/magazine/11521 ※最新の5.5は、PHP7以上ですので お使いのPHPのバージョン等環境に ご注意下さい
  35. 35. よいLaraLifeを! Let’s composer create-project --prefer-dist laravel/laravel Enjoy_Laravel_Project

×