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.

第104回 php勉強会@東京 Laravel

828 views

Published on

Laravel を利用した ウェブ発注システム
(PHP 初心者が1年間で実践で学びながら開発した経験)
平成28年7月27日

Published in: Software
  • Be the first to comment

  • Be the first to like this

第104回 php勉強会@東京 Laravel

  1. 1. ARUBEH Inc. Laravelを利用した ウェブ発注システム PHP初心者が1年間で 実践で学びながら開発した経験 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 1 第104回 PHP勉強会@東京 平成28年7月27日
  2. 2. ARUBEH Inc. # 自己紹介 イ ジュングン 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 2 • 韓国群山(グンサン)市出身、ソウル育ち • イギリス留学中日本人の妻と出会う • 2009年に日本に来て(株)プロネッツに入社 • 2015年、(株)アルベに入社 Jun Keun, Lee lee@arubeh.com
  3. 3. ARUBEH Inc. # Laravelとの出会い 2009~2014年 • 通信用サーバー(PCRF) • C++ • Linux、GCC • Viでコーディング • 2014年! JavaのPlayフレームワーク で業務システム開発を 経験→WEB系に憧れる 2015年 • たまたまの紹介で 「アルベ」に出会う。 – Webシステム開発 – Laravelで開発していく方針 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 3 http://www.arubeh.com
  4. 4. ARUBEH Inc. # その1(国際求人サイト) • PHPを学ぼう! • Laravelを学ぼう! • 実践で学びながらWEBサービスを作ろう! • オープンソースを出来るだけ利用する! 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 4
  5. 5. ARUBEH Inc. # その1(国際求人サイト) • https://laravel10.wordpress.com/ • http://readouble.com/laravel/ 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 5
  6. 6. ARUBEH Inc. # その1(国際求人サイト) 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 6
  7. 7. ARUBEH Inc. # 実その1(国際求人サイト) 頑張ったこと • PHP 5.6 • Laravel 5.0 → 5.1LTS • Maria DB • Materialize • Node.js • Redis • SOCKET.IO 学んだこと • PHPの文法 • HTML/Javascripの文法 • WEB業界の一般的な知識 • MVC思考 • Laravelの基本的な使い方 – Routing/Middleware – Controllers/Views – Eloquent ORM(Getting Started) – Blade Templates 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 7
  8. 8. ARUBEH Inc. # その1(国際求人サイト) 2016/7/28 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 8 Routing Middleware Eloquent ORM (Model) Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request DB
  9. 9. ARUBEH Inc. # その1(国際求人サイト) 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 9 Routing Middleware Eloquent ORM (Model) Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request DB Rootフォルダ└─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views user_update.blade.php <?php Route::get( 'user/{id}', UserController@updateProfile );
  10. 10. ARUBEH Inc. # その1(国際求人サイト) 2016/7/28 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 10 Routing Middleware Eloquent ORM (Model) Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request DB Rootフォルダ └─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views user_update.blade.php
  11. 11. ARUBEH Inc. # その1(国際求人サイト) 2016/7/28 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 11 Routing Middleware Eloquent ORM (Model) Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request DB Rootフォルダ └─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views user_update.blade.php class UserController extends Controller { public function updateProfile( UserRequest $request, $id ) { // ロジック $user = User::find($id); $user->update($request->all()); $user = User::find($id); return view( 'user_update', compact('user') ); } }
  12. 12. ARUBEH Inc. # その1(国際求人サイト) 2016/7/28 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 12 Routing Middleware Eloquent ORM (Model) Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request DB Rootフォルダ └─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views user_update.blade.php class UserController extends Controller { public function updateProfile( UserRequest $request, $id ) { // ロジック $user = User::find($id); $user->update($request->all()); $user = User::find($id); return view( 'user_update', compact('user') ); } } Rootフォルダ └─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views welcome.blade.php <?php class UserRequest extends Request { public function authorize() { // 認証処理 } public function rules() { // バリデーションチェック処理 } } Rootフォルダ └─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views user_update.blade.php
  13. 13. ARUBEH Inc. # その1(国際求人サイト) 2016/7/28 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 13 Routing Middleware Eloquent ORM (Model) Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request DB <!DOCTYPE html> <html> <head> <title>Laravel</title> </head> <body> <div> ・名前:{{ $user->name}}<br> ・メール:{{ $user->email}} </div> </body> </html> Rootフォルダ └─app │ User.php ├─Http │ │ routes.php │ ├─Controllers │ │ UserController.php │ ├─Middleware │ │ Authenticate.php │ └─Requests │ Request.php │ UserRequest.php └─views user_update.blade.php
  14. 14. ARUBEH Inc. # 実その1(国際求人サイト) • ENTRUST (Laravel 5 Package) – https://github.com/Zizaco/entrust • CSV – https://github.com/thephpleague/csv – http://csv.thephpleague.com/ • Laravel Localization – https://github.com/mcamara/laravel-localization 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 14
  15. 15. ARUBEH Inc. # その1(国際求人サイト) • Windows10にLaravel開発環境を構築 _ 株式会社アルベ _ Arubeh Inc. – http://www.arubeh.com/archives/1470 • Laravel 5.1 プロジェクト作成(インス トール) _ 株式会社アルベ _ Arubeh Inc. – http://www.arubeh.com/archives/1367 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 15
  16. 16. ARUBEH Inc. # その2(ウェブ発注システム) • Laravelをスマートに利用しよう! • 次のプロジェクトに再利用したい! – パッケージの制作 • 最新の技術を利用しよう! – PHP 7 – Laravel 5.2 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 16
  17. 17. ARUBEH Inc. # その2(ウェブ発注システム) 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 17
  18. 18. ARUBEH Inc. # その2(ウェブ発注システム) 頑張ったこと • PHP 7 → PHP 5.6 • Lavavel 5.2 → 5.1LTS • Maria DB • Bootstrap ※パッケージ化について のスキルは身につかな かった! 学んだこと • PHP 7のお試し • Laravel 5.2のお試し • Laravelの使い方 – Service Providers – Service Container – Facades – Eloquent ORM (Relationships、…) 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 18
  19. 19. ARUBEH Inc. # その2(ウェブ発注システム) 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 19 Routing Middleware Blade Templates (View) リクエスト Controllers Controllers Controllers レスポンス Request Request Request Service (ロジック) Service (ロジック) Service (ロジック) Eloquent ORM (Model) DB
  20. 20. ARUBEH Inc. # その2(ウェブ発注システム) • http://kore1server.com/319/Laravel5. 1、基本コンポーネントの流れ – Laravel5.1、基本コンポーネントの流れ 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 20
  21. 21. ARUBEH Inc. # その3(パッケージ制作) • 次のプロジェクトに楽に再利用したい! • 外部パッケージをもっと使いやすくした い! 自社パッケージの開発! 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 21
  22. 22. ARUBEH Inc. # その3(パッケージ制作) arubeh/laravel-csv • CSVインポート機能 • CSVエクスポート機能 • 大量データー対応 • Shift-JIS文字コード対応 • PHP 7 対応 arubeh/laravel-auth • 認証機能の拡張 • ユーザー登録機能 – 本人確認機能の追加 • 役割と権限機能 – ユーザー毎の役割と権限 – ルーティング時判定 – ユーザーの権限判定 • ユーザー管理機能 – ユーザーリスト 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 22
  23. 23. ARUBEH Inc. # その3(パッケージ制作) arubeh/laravel-address • 日本の住所入力フォーム 作成ヘルパー • 簡単ルーティング設定 • 簡単フォーム作成 • 郵便番号入力時住所取得 • 住所入力時郵便番号取得 arubeh/laravel-eloquent • Eloquent機能を拡張 • leftJoinを行って検索する クエリービルダーの追加 • leftJoinを行ってソートする クエリービルダーの追加 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 23
  24. 24. ARUBEH Inc. # その3(パッケージ制作) • http://www.arubeh.com/archives/1298 – Laravelのパッケージ開発 _ 株式会社アルベ _ Arubeh Inc. 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 24
  25. 25. ARUBEH Inc. # 次への展望(ショッピングサイト) 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 25 パッケージを購入できる場を作る arubeh/auth arubeh/csv …
  26. 26. ARUBEH Inc. # 最後に 今回の件で興味をお持ちになりましたら いつでもご連絡下さい。 お待ちしております! http://www.arubeh.com/staff 2016/7/27 Copyright © 2016 Arubeh,Inc. All Rights Reserved. 26 ご清聴、ありがとうございました

×