活動報告9 laravel5入門-

20
パパパパパパパパパ 2015/07/31 パパパパパパパパパパパパパパパパパパパパパ パパパパパパ

Upload: vx-pc-club

Post on 16-Aug-2015

87 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: 活動報告9  laravel5入門-

パソコン部活動報告2015/07/31

最新の技術をとりあえず試してみることを目的とした部です。

Page 2: 活動報告9  laravel5入門-

Laravel5をいじってみる

Page 3: 活動報告9  laravel5入門-

1. 開発環境

おなじみの cloud9 IDE で開発する。環境情報はこんな感じ。

PHPのバージョン

5.5.9

OS

Ubuntu 14.04.2 LTS

APサーバー

Apache/2.4.7

データベース

MySQL

Page 4: 活動報告9  laravel5入門-

2. インストールする

Laravel の公式サイトを参考に、 Composer でインストールする。

(1) Laravel のインストールに必要な composer をダウンロード

composer global require "laravel/installer=~1.1"

( 2 ) Laravel のプロジェクトを作成する

composer create-project laravel/laravel プロジェクト名 --prefer-dist

Page 5: 活動報告9  laravel5入門-

2. インストールする

一応これで Laravel の環境ができあがるんだけど、 cloud9 の場合はさらに手順が必要だったので書いておく。

Page 6: 活動報告9  laravel5入門-

2. インストールする

(1) DocmentRoot の変更❏ workspace の直下にプロジェクトが作成されている

のでプロジェクトごと workspace に上書きする❏ Laravel は public ディレクトリが公開ディレクトリ

なので DocumentRoot に /public を追加する

sudo nano /etc/apache2/sites-enabled/001-cloud9.conf

ここに DocumentRoot の定義が書かれてる

Page 7: 活動報告9  laravel5入門-

2. インストールする

( 2 )デフォルト DB 定義の変更❏ config/database.php にある mysql の定義内容を

変更する

変更前 変更後

Page 8: 活動報告9  laravel5入門-

2. インストールする

( 3 ) APP_KEY の設定❏ これを設定しないとエラーになってしまうという罠

が潜んでた。。。

php artisan key:generate

キーをジェネレートする

❏ コンソールに出力されたキーで config/app.php に書き換える

変更後

変更後

Page 9: 活動報告9  laravel5入門-

3. 基本事項

最終的にはアプリを 1 個つくるんだけど、その前に基本事項を抑えておく。

Page 10: 活動報告9  laravel5入門-

3. 基本事項

(1)ルーティングについて

file

app/Http/route.php

まぁ、いまどきこういった感じだよね。

リクエスト

get,post,put,deleteに対応

まぁ、普通だよね。

面白いと思ったのは、 Route の match ってやつ。match でリクエストを指定しておくと、それに応じて処理してくれるっぽい。あと、今回は書かないけど、 Middleware もちゃんとあるよ。

Page 11: 活動報告9  laravel5入門-

3. 基本事項

書き方

❏ ① は普通の get❏ ② はパラメータ付きでフォーマット指定したやつ

where でパラメータがフォーマットに合っているかチェックしてくれる

❏ ③ はグループ化した場合の書き方

② ③

Page 12: 活動報告9  laravel5入門-

3. 基本事項

( 2 )コントローラーについて

ディレクトリ

app/Http/controllers

コントローラーを呼び出すには route.php でこんな感じで記述する

Route::get('user/{id}', 'User\UserController@detail);

↑ の例の場合、 {id} がリクエストパラメータになって、 controllers ディレクトの User ディレクトリにある UserController.detail メソッドの引数に渡される。

Page 13: 活動報告9  laravel5入門-

3. 基本事項

書き方

❏ view に渡しているのは ID に合致したデータね。❏ view へは with メソッドでもデータを渡せる。

Page 14: 活動報告9  laravel5入門-

3. 基本事項

コントローラーには● Controller Middleware● RESTful Resource Controllers

ってものある。

でも RestfulAPI を作るなら、 Laravel の軽量化バージョンの FW を使う気がする。

Page 15: 活動報告9  laravel5入門-

3. 基本事項

( 3 )ビューについて

ディレクトリ

resource/views/

コントローラーの例で出した return view(‘user.detail’) の部分は↑のディレクトリの直下にある user ディレクトリの detail.blade.php を呼び出すって命令になる。

Laravel ではテンプレートエンジンに blade を使っている。最終的には angular と組み合わせる予定なので、使わなくなるのかな。

Page 16: 活動報告9  laravel5入門-

3. 基本事項

( 4 )表示してみる

ここまでを実装してみて、 route->controller->view までの流れを試してみる。それぞれのソースコードは、こんな感じです。

route.php

Page 17: 活動報告9  laravel5入門-

3. 基本事項

UserController.php

Page 18: 活動報告9  laravel5入門-

3. 基本事項

detail.blade.php

ドメイン /backend/user/1でアクセスするとパラメータの値が画面に表示される。

Page 19: 活動報告9  laravel5入門-

3. 基本事項

Page 20: 活動報告9  laravel5入門-

4 . 次回

調べてる時が一番楽しいよね。デフォルトの構成で気持ち悪いのが、 app 直下にUser.php っていう model がいること。これ、やめたいな。

次回は、マイグレーション使ってテーブル作ってデータベースとの I/O を入れていきます。