Laravel | Todo | プロジェクトの作成

ホーム  

概要

Laravel で Todo アプリを作ります。名前は Task としました。
Todo と Task は、同じ「すること」という意味ですが、Task はいつするか、いつまでにするかという時間的期限が決まっている場合、 Todo はそういう時間的期限が決まっていない場合に使うそうです。 今回は時間的期限があるというわけではないのですが、Todo というより、Task といったほうがかっこいいかなと思って、Task にしました。

完成画面は次のようになります。


Task プロジェクト

任意の場所にプロジェクトを作ります。私は、ホームディレクトリに laravel というフォルダを作り、その中に、 いろいろなプロジェクトを作っています。

コマンドプロンプトもしくはターミナルを起動して、次のようにコマンドします。


# プロジェクトの作成
composer create-project laravel/laravel task

# プロジェクトのディレクトリに移動
cd task

# プロジェクトの起動
php artisan serve

# ブラウザで確認
お使いのブラウザで
localhost:8000
もしくは
127.0.0.1:8000
にアクセスすると Laravel のデフォルトぺージが表示されます。


ルーティング

ルーティング (Routing) とは、localhost:8000/ の以下のどのアドレスにアクセスすると、どのぺージが表示されるかを決めることです。

  1. taskプロジェクトの routes/web.php の welcome を index に変更
    return view('welcome');
    を
    return view('index');
    
  2. resources/views/welcome.blade.php を index.blade.php という名前に変更。index.blade.php のように blade をつけると、php ファイルの中で変数を使えたり、いろいろな命令を使えるようになります。
    welcome.blade.php
    を
    index.blade.php
    
  3. index.blade.php の中身をすべて削除して次のように書き換えます
    <h1>This is my task.</h1>
    
  4. お使いのブラウザで localhost:8000 にアクセスして、結果を確認します。 This is my task. と表示されていれば OK です。
  5. ターミナルもしくはコマンドプロンプトで次のようにコマンドします。これにより、Task というモデルと、そのモデルの構造を設定するマイグレーションファイルと TaskController というコントローラーができます。
    php artisan make:model Task -mc
    
  6. routes/web.php を次のように書き換えます
    <?php
    
    use Illuminate\Support\Facades\Route;
    use App\Http\Controllers\TaskController;
    
    Route::get('/', [TaskController::class,'index'])->name('tasks.index');
    Route::resource('tasks', TaskController::class)->except(['index']);
    
  7. ターミナルもしくはコマンドプロンプトで次のようにコマンドしてルーティングを確認する
    php artisan route:list --name=tasks
    
    結果
    GET|HEAD        / ............................................. tasks.index › TaskController@index
    POST            tasks ......................................... tasks.store › TaskController@store
    GET|HEAD        tasks/create ................................ tasks.create › TaskController@create
    GET|HEAD        tasks/{task} .................................... tasks.show › TaskController@show
    PUT|PATCH       tasks/{task} ................................ tasks.update › TaskController@update
    DELETE          tasks/{task} .............................. tasks.destroy › TaskController@destroy
    GET|HEAD        tasks/{task}/edit ............................... tasks.edit › TaskController@edit
    
    例えば1行目は、GET 方式で / (ルート) にアクセスすると、tasks.index という名前で、TaskController の index メソッドが呼び出されるという意味になります。
  8. app/Http/Controllers/TaskController.php を開いて、次のように index メソッドを書き足します
    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    
    class TaskController extends Controller
    {
      public function index()
      {
        return view('index');
      }
    }
    
    return view('index'); は、resources/views の index.blade.php を表示しろという意味です
  9. localhost:8000 もしくは 127.0.0.1:8000 にアクセスして、This is my task. と表示されていれば OK です。



1104 visits
Posted: Jul. 24, 2025
Update: Jul. 24, 2025

ホーム   目次