TODOアプリの開発
この章では、laravelを用いてTODOアプリを作成していただきます。
Laravelは拡張性に優れていて、開発者によって、機能は同じでもシステムの中身が全然違うことも少なくありません。
TODOアプリを通して、Laravelの基本部分をしっかり学びLaravel開発の対応力を磨きましょう。
ControllerとRoutingの関係
コントローラの役割
RoutingからControllerに渡されると、
Modelの連携をとってデータベースからデータを取得したり、データを保存したりします。
その後、Modelから取得したデータをViewと連携してブラウザに表示するデータを生成し、
Viewにデータを送信するように指示を送ります。
一言で言えば、「データをやり取りしたり出力するデータを生成するところ」と言えます。
ControllerとView
しばらくはモデルは使わずに、ControllerとViewのみで進めていきます。
理由としては、 データベースを使わないところにモデルを使う意味がないからです。
artisan コマンドで コントローラを作成
プロジェクトディレクトリに移動して以下を実行して下さい。
$ php artisan make:controller Admin/TodoController
エディタを起動し、curriculum5/app/Http/Controllers/Admin/TodoController.php
があるか確認して下さい。
コントローラの雛形が作成されました。
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; class TodoController extends Controller { // }
何の機能も持たないControllerが作成されました。
Action を追加
ActionとはPHP特有の言葉で、Controllerが持つ機能のことを指します。
具体的には、Controller内に実装した関数(厳密にはメソッドといいます) のことを指します。
ここに機能を追加して使っていきます。
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; class TodoController extends Controller { // 以下を追記 public function add() { return view('todo.create'); } }
これでTodoControllerにaddアクションが追加されました。
しかし、まだRoutingを設定していないのでアクションを使うことができません。
Action と Routing の関係
ActionとRoutingの関係についての説明です。
ユーザーから来たアクセスをRoutingが受け取り、Controllerに渡しています。
もう少し細かく言うとControllerのActionに渡しています。
どのアクセスが来たら、どのControllerのどのActionに渡すのかと言うルートを設定するのがRoutingの役割になります。