狠狠撸

狠狠撸Share a Scribd company logo
ARUBEH Inc.
Laravelを利用した
ウェブ発注システム
PHP初心者が1年間で
実践で学びながら開発した経験
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
1
第104回 PHP勉強会@東京
平成28年7月27日
ARUBEH Inc.
# 自己紹介
イ ジュングン
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
2
? 韓国群山(グンサン)市出身、ソウル育ち
? イギリス留学中日本人の妻と出会う
? 2009年に日本に来て(株)プロネッツに入社
? 2015年、(株)アルベに入社
Jun Keun, Lee
lee@arubeh.com
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
ARUBEH Inc.
# その1(国際求人サイト)
? PHPを学ぼう!
? Laravelを学ぼう!
? 実践で学びながらWEBサービスを作ろう!
? オープンソースを出来るだけ利用する!
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
4
ARUBEH Inc.
# その1(国際求人サイト)
? https://laravel10.wordpress.com/
? http://readouble.com/laravel/
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
5
ARUBEH Inc.
# その1(国際求人サイト)
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
6
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
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
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
);
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
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')
);
}
}
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
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
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
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
ARUBEH Inc.
# その2(ウェブ発注システム)
? Laravelをスマートに利用しよう!
? 次のプロジェクトに再利用したい!
– パッケージの制作
? 最新の技術を利用しよう!
– PHP 7
– Laravel 5.2
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
16
ARUBEH Inc.
# その2(ウェブ発注システム)
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
17
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
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
ARUBEH Inc.
# その2(ウェブ発注システム)
? http://kore1server.com/319/Laravel5.
1、基本コンポーネントの流れ
– Laravel5.1、基本コンポーネントの流れ
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
20
ARUBEH Inc.
# その3(パッケージ制作)
? 次のプロジェクトに楽に再利用したい!
? 外部パッケージをもっと使いやすくした
い!
自社パッケージの開発!
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
21
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
ARUBEH Inc.
# その3(パッケージ制作)
arubeh/laravel-address
? 日本の住所入力フォーム
作成ヘルパー
? 簡単ルーティング設定
? 簡単フォーム作成
? 郵便番号入力時住所取得
? 住所入力時郵便番号取得
arubeh/laravel-eloquent
? Eloquent機能を拡張
? leftJoinを行って検索する
クエリービルダーの追加
? leftJoinを行ってソートする
クエリービルダーの追加
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
23
ARUBEH Inc.
# その3(パッケージ制作)
? http://www.arubeh.com/archives/1298
– Laravelのパッケージ開発 _ 株式会社アルベ _
Arubeh Inc.
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
24
ARUBEH Inc.
# 次への展望(ショッピングサイト)
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
25
パッケージを購入できる場を作る
arubeh/auth arubeh/csv
…
ARUBEH Inc.
# 最後に
今回の件で興味をお持ちになりましたら
いつでもご連絡下さい。
お待ちしております!
http://www.arubeh.com/staff
2016/7/27
Copyright ? 2016 Arubeh,Inc. All Rights Reserved.
26
ご清聴、ありがとうございました

More Related Content

What's hot (20)

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
?
尝补谤补惫别濒とテストについて
尝补谤补惫别濒とテストについて尝补谤补惫别濒とテストについて
尝补谤补惫别濒とテストについて
Takeo Noda
?
Java web application testing
Java web application testingJava web application testing
Java web application testing
Tokuhiro Matsuno
?
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
翱厂厂ラボ株式会社
?
【Camphor ×サイホ?ウス?】selenium勉強会
【Camphor ×サイホ?ウス?】selenium勉強会【Camphor ×サイホ?ウス?】selenium勉強会
【Camphor ×サイホ?ウス?】selenium勉強会
Yuki Okada
?
尝补谤补惫别濒の认証について
尝补谤补惫别濒の认証について尝补谤补惫别濒の认証について
尝补谤补惫别濒の认証について
Takeo Noda
?
ディレクションのすゝめ
ディレクションのすゝめディレクションのすゝめ
ディレクションのすゝめ
Takeo Noda
?
贰颁-颁鲍叠贰フ?ラク?イン讲义
贰颁-颁鲍叠贰フ?ラク?イン讲义贰颁-颁鲍叠贰フ?ラク?イン讲义
贰颁-颁鲍叠贰フ?ラク?イン讲义
ria1201
?
础锄耻谤别で尝补谤补惫别濒动かしてみた
础锄耻谤别で尝补谤补惫别濒动かしてみた础锄耻谤别で尝补谤补惫别濒动かしてみた
础锄耻谤别で尝补谤补惫别濒动かしてみた
Keiji Kamebuchi
?
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションPHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
?
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
驰补丑辞辞!デベロッパーネットワーク
?
flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享
Eugene Wang
?
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
?
こんなに使える!今どきの础笔滨ドキュメンテーションツール
こんなに使える!今どきの础笔滨ドキュメンテーションツールこんなに使える!今どきの础笔滨ドキュメンテーションツール
こんなに使える!今どきの础笔滨ドキュメンテーションツール
dcubeio
?
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
?
Service workerとwebフ?ッシュ通知
Service workerとwebフ?ッシュ通知Service workerとwebフ?ッシュ通知
Service workerとwebフ?ッシュ通知
zaru sakuraba
?
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
驰补丑辞辞!デベロッパーネットワーク
?
スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”
Koji Ishimoto
?
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
?
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
翱厂厂ラボ株式会社
?
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
?
尝补谤补惫别濒とテストについて
尝补谤补惫别濒とテストについて尝补谤补惫别濒とテストについて
尝补谤补惫别濒とテストについて
Takeo Noda
?
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
翱厂厂ラボ株式会社
?
【Camphor ×サイホ?ウス?】selenium勉強会
【Camphor ×サイホ?ウス?】selenium勉強会【Camphor ×サイホ?ウス?】selenium勉強会
【Camphor ×サイホ?ウス?】selenium勉強会
Yuki Okada
?
尝补谤补惫别濒の认証について
尝补谤补惫别濒の认証について尝补谤补惫别濒の认証について
尝补谤补惫别濒の认証について
Takeo Noda
?
ディレクションのすゝめ
ディレクションのすゝめディレクションのすゝめ
ディレクションのすゝめ
Takeo Noda
?
贰颁-颁鲍叠贰フ?ラク?イン讲义
贰颁-颁鲍叠贰フ?ラク?イン讲义贰颁-颁鲍叠贰フ?ラク?イン讲义
贰颁-颁鲍叠贰フ?ラク?イン讲义
ria1201
?
础锄耻谤别で尝补谤补惫别濒动かしてみた
础锄耻谤别で尝补谤补惫别濒动かしてみた础锄耻谤别で尝补谤补惫别濒动かしてみた
础锄耻谤别で尝补谤补惫别濒动かしてみた
Keiji Kamebuchi
?
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションPHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
?
flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享flyingV Laravel & AWS 經驗分享
flyingV Laravel & AWS 經驗分享
Eugene Wang
?
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
?
こんなに使える!今どきの础笔滨ドキュメンテーションツール
こんなに使える!今どきの础笔滨ドキュメンテーションツールこんなに使える!今どきの础笔滨ドキュメンテーションツール
こんなに使える!今どきの础笔滨ドキュメンテーションツール
dcubeio
?
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
?
Service workerとwebフ?ッシュ通知
Service workerとwebフ?ッシュ通知Service workerとwebフ?ッシュ通知
Service workerとwebフ?ッシュ通知
zaru sakuraba
?
スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”
Koji Ishimoto
?
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
?
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
翱厂厂ラボ株式会社
?

Similar to 第104回 php勉強会@東京 Laravel (20)

セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
DIVE INTO CODE Corp.
?
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
Hideo Kashioka
?
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
?
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
?
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
y-uti
?
3 tips of Laravel
3 tips of Laravel3 tips of Laravel
3 tips of Laravel
Kazuaki KURIU
?
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
?
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
?
OSC2013@FUKUOKA
OSC2013@FUKUOKAOSC2013@FUKUOKA
OSC2013@FUKUOKA
Ryuji Egashira
?
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
?
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
Shohei Okada
?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
Hideo Kashioka
?
尘颈苍苍别で学ぶクラウド脳
尘颈苍苍别で学ぶクラウド脳尘颈苍苍别で学ぶクラウド脳
尘颈苍苍别で学ぶクラウド脳
Uchio Kondo
?
ヤフー発のメッセージキュー「笔耻濒蝉补谤」のご绍介
ヤフー発のメッセージキュー「笔耻濒蝉补谤」のご绍介ヤフー発のメッセージキュー「笔耻濒蝉补谤」のご绍介
ヤフー発のメッセージキュー「笔耻濒蝉补谤」のご绍介
驰补丑辞辞!デベロッパーネットワーク
?
ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118
ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118
ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118
Nozomi Kurihara
?
IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門
v6app
?
【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)
【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)
【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)
Shinichiro Yoshida
?
アイテ?アを形にする ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座
アイテ?アを形にする  ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座アイテ?アを形にする  ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座
アイテ?アを形にする ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座
DIVE INTO CODE Corp.
?
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
DIVE INTO CODE Corp.
?
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
Hideo Kashioka
?
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
?
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
?
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
y-uti
?
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
?
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
?
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
?
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
Shohei Okada
?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
PHP初心者セッション2023 ?ChatGPT時代の簡単な始め方?
Hideo Kashioka
?
尘颈苍苍别で学ぶクラウド脳
尘颈苍苍别で学ぶクラウド脳尘颈苍苍别で学ぶクラウド脳
尘颈苍苍别で学ぶクラウド脳
Uchio Kondo
?
ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118
ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118
ヤフー発のメッセーシ?キュー 「Pulsar」のこ?紹介@jjug ccc 20171118
Nozomi Kurihara
?
IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門
v6app
?
【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)
【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)
【翱厂颁2011広岛】共有アプリで游ぼう!(日本搁别诲5ユーザー会)
Shinichiro Yoshida
?
アイテ?アを形にする ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座
アイテ?アを形にする  ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座アイテ?アを形にする  ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座
アイテ?アを形にする ③3時間て?アフ?リ公開!セ?ロからのフ?ロク?ラミンク?講座
DIVE INTO CODE Corp.
?

第104回 php勉強会@東京 Laravel

  • 1. ARUBEH Inc. Laravelを利用した ウェブ発注システム PHP初心者が1年間で 実践で学びながら開発した経験 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 1 第104回 PHP勉強会@東京 平成28年7月27日
  • 2. ARUBEH Inc. # 自己紹介 イ ジュングン 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 2 ? 韓国群山(グンサン)市出身、ソウル育ち ? イギリス留学中日本人の妻と出会う ? 2009年に日本に来て(株)プロネッツに入社 ? 2015年、(株)アルベに入社 Jun Keun, Lee lee@arubeh.com
  • 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. ARUBEH Inc. # その1(国際求人サイト) ? PHPを学ぼう! ? Laravelを学ぼう! ? 実践で学びながらWEBサービスを作ろう! ? オープンソースを出来るだけ利用する! 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 4
  • 5. ARUBEH Inc. # その1(国際求人サイト) ? https://laravel10.wordpress.com/ ? http://readouble.com/laravel/ 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 5
  • 6. ARUBEH Inc. # その1(国際求人サイト) 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 6
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. ARUBEH Inc. # その2(ウェブ発注システム) ? Laravelをスマートに利用しよう! ? 次のプロジェクトに再利用したい! – パッケージの制作 ? 最新の技術を利用しよう! – PHP 7 – Laravel 5.2 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 16
  • 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. 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. ARUBEH Inc. # その2(ウェブ発注システム) ? http://kore1server.com/319/Laravel5. 1、基本コンポーネントの流れ – Laravel5.1、基本コンポーネントの流れ 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 20
  • 21. ARUBEH Inc. # その3(パッケージ制作) ? 次のプロジェクトに楽に再利用したい! ? 外部パッケージをもっと使いやすくした い! 自社パッケージの開発! 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 21
  • 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. ARUBEH Inc. # その3(パッケージ制作) arubeh/laravel-address ? 日本の住所入力フォーム 作成ヘルパー ? 簡単ルーティング設定 ? 簡単フォーム作成 ? 郵便番号入力時住所取得 ? 住所入力時郵便番号取得 arubeh/laravel-eloquent ? Eloquent機能を拡張 ? leftJoinを行って検索する クエリービルダーの追加 ? leftJoinを行ってソートする クエリービルダーの追加 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 23
  • 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. ARUBEH Inc. # 次への展望(ショッピングサイト) 2016/7/27 Copyright ? 2016 Arubeh,Inc. All Rights Reserved. 25 パッケージを購入できる場を作る arubeh/auth arubeh/csv …