laravel開発のすすめ方【手順書】

animal_chara_radio_penguin laravel

毎回ページを新しく作るときのおおまかな流れメモ。
何も見なくてもできるようになりたいですねぇ。
※悪気なく間違いを書いてる可能性があります。。

【ここでつかうもの】

  • Controller(動き処理)
  • Model(DB処理)
  • Request(エラーチェック処理)
  • view(blade.php)
  • Route

ざっくりした流れです。

Controllerページをつくる

コマンドプロンプトからたたいてcontroller作成もできるみたいですがわたしは直接フォルダにphpファイルを作成しています。

TestController.php をControllerフォルダへ作り、<?php namespace App\Http\Controllers\Test; use App\Http\Controllers\AbstractController; class TestController extends AbstractController { //ここにfunctionかいてく } ?>

こんな感じ。

Controllerに必要なfunction書く(中身は空)

<?php namespace App\Http\Controllers\Test; use App\Http\Controllers\AbstractController; class TestController extends AbstractController { public function index(){ } public function search(){ } } ?>

そのページに必要なfunctionをずらっと書いてく。

Route書き込む

<?php Route::get(‘test’, ‘TestController@index’)->name(‘test’); Route::get(‘test/search’, ‘TestController@search’)->name(‘test/search’); ?>

functionがきちんと飛ぶかURLたたいて確認

さっき書いたRouteがちゃんと通っているかURLを直接入力して確認する。
ちゃんと通ってたら真っ白ページが表示される。

注意 getなら真っ白でOKだけどpostは表示はできないので注意。URL直接入力してもエラーなるよ。

Model書く

DBの処理を書くところ。ここは書く処理こそ違うけどControllerに激似。まぁどこも似たようなもんですが。
ここでは仮にTestmodel.phpファイルをModelフォルダに作ったとします。<?php namespace App\Http\Models; use App\Http\Models\AbstractModel; class Testmodel extends AbstractModel { //中身も書くよ } ?>

そのページにはどんなデータが必要なのか仕様書をよく見て処理を書いてく。

Controller内部の処理を書き込む

<?php namespace App\Http\Controllers\Test; use App\Http\Controllers\AbstractController; class TestController extends AbstractController { public function index(){   //中身を書く } public function search(){   //中身を書く } } ?>

ある程度書いたらviewへ。

view書く

HTMLとかCSSとかjavaScriptも絡んできます。
laravelは「@extend」とか使えるので便利。@extends(‘layout’) @section(‘script’) //javaScript処理 @endsection @section(‘style’) //そのページのCSS処理 @endsection @section(‘content’) //ページの中身 @section

共通化したいjavaScriptとかCSSは別途「common.js」「common.css」つくってそこに書く。
毎回書くのが面倒なmetaとかも共通headerに書いてる。

Requestでバリデーション書く

エラーチェックです。TestRequest.phpファイルをRequestフォルダに作ったとする。<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class TestRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * @return array */ public function rules() {       //検索時にエラーチェックかけたかったら      if ($this->path() == ‘test/search’) { return[ //ここにチェックしたいフィールド指定してエラーチェックをごりごり書く        ’testCode’=> ‘requied|numeric’, ]; } return [ ]; } }

RequestがかけたらこのRequestが通るようにしないとなのでControllerに<?php namespace App\Http\Controllers\Test; use App\Http\Controllers\AbstractController; //追記↓ use App\Http\Requests\TestRequest; use Illuminate\Http\Request; class TestController extends AbstractController { public function index(TestRequest $request){ } public function search(TestRequest $request){ } } ?>

と書くとその処理通る前にエラーチェックができる。

あとは書いて書いて仕様書どおりの動きができるまで書く

Controllerやview、Requestを行ったりきたりバグと戦いながら完成を目指します。
以上( ^ω^ )

タイトルとURLをコピーしました