プログラミング

Laravel 5 ToDo アプリ作成

Laravel 5を使用したToDoアプリケーションの完全かつ包括的な作成方法について、詳細に解説します。このガイドでは、Laravelの基礎から始め、ToDoアプリケーションの構築に必要なすべてのステップを順を追って説明します。記事は、初心者から中級者までの開発者を対象にしています。

1. Laravel 5のインストール

まず、Laravelをインストールするためには、PHPとComposerがインストールされていることを確認してください。これらがインストールされていない場合は、公式ウェブサイトからインストール方法を確認できます。

インストール手順:

  1. Composerを使用してLaravelの新しいプロジェクトを作成します。

    bash
    composer create-project --prefer-dist laravel/laravel todo-app "5.*"

    これにより、Laravel 5の最新バージョンのToDoアプリケーションが作成されます。

  2. プロジェクトディレクトリに移動します。

    bash
    cd todo-app
  3. Laravelの開発サーバーを起動します。

    bash
    php artisan serve

    開発サーバーが起動し、http://localhost:8000でアプリケーションにアクセスできます。

2. データベース設定

ToDoアプリケーションでは、データベースを使用してタスクを管理します。Laravelは、デフォルトでMySQLをサポートしているため、MySQLデータベースを設定します。

.envファイルの設定:

config/database.phpに記載されているデフォルトのデータベース接続設定を、.envファイルで設定します。

env
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=todo_app DB_USERNAME=root DB_PASSWORD=

これで、データベース接続が設定されました。

3. マイグレーションの作成

次に、タスクを管理するためのデータベーステーブルを作成するために、マイグレーションを実行します。

マイグレーションファイルの作成:

Laravelでは、artisanコマンドを使用してマイグレーションファイルを簡単に作成できます。

bash
php artisan make:migration create_tasks_table --create=tasks

このコマンドで、database/migrationsディレクトリにマイグレーションファイルが作成されます。このファイルに、テーブルの構造を定義します。

マイグレーションファイルの内容:

マイグレーションファイルを開き、tasksテーブルに必要なカラムを追加します。例えば、タスクのタイトルと完了状態を保持するカラムを追加します。

php
public function up() { Schema::create('tasks', function (Blueprint $table) { $table->id(); $table->string('title'); $table->boolean('completed')->default(false); $table->timestamps(); }); }

マイグレーションの実行:

マイグレーションを実行することで、データベースにテーブルが作成されます。

bash
php artisan migrate

これで、データベースにtasksテーブルが作成され、タスク情報を保存できるようになります。

4. モデルの作成

次に、Taskモデルを作成して、tasksテーブルとのやり取りを行います。モデルは、LaravelのEloquent ORMを使用してデータベースの操作を簡単にします。

モデルの作成:

bash
php artisan make:model Task

app/Task.phpファイルが作成されるので、必要に応じて設定します。例えば、Taskモデルにtitlecompleted属性を指定します。

php
class Task extends Model { protected $fillable = ['title', 'completed']; }

5. コントローラの作成

次に、ToDoアプリケーションのロジックを管理するためにコントローラを作成します。コントローラは、リクエストに対する処理を担当します。

コントローラの作成:

bash
php artisan make:controller TaskController

app/Http/Controllers/TaskController.phpファイルが作成されるので、CRUD操作を行うためのメソッドを追加します。

php
use App\Models\Task; use Illuminate\Http\Request; class TaskController extends Controller { public function index() { $tasks = Task::all(); return view('tasks.index', compact('tasks')); } public function store(Request $request) { $request->validate([ 'title' => 'required|max:255', ]); Task::create($request->all()); return redirect()->route('tasks.index'); } public function update(Request $request, Task $task) { $task->update($request->all()); return redirect()->route('tasks.index'); } public function destroy(Task $task) { $task->delete(); return redirect()->route('tasks.index'); } }

6. ルーティングの設定

コントローラを作成した後、routes/web.phpにルートを設定して、URLに対してどのメソッドが呼び出されるかを決定します。

php
Route::resource('tasks', 'TaskController');

これで、/tasksにアクセスすると、TaskControllerのメソッドが呼び出されるようになります。

7. ビューの作成

ToDoアプリケーションのUIは、resources/viewsディレクトリに保存されます。ここでは、タスクを表示したり、新しいタスクを作成したり、タスクを削除したりするためのビューを作成します。

resources/views/tasks/index.blade.phpの作成:

php
"ja"> "UTF-8"> "viewport" content="width=device-width, initial-scale=1.0"> ToDoアプリケーション

ToDoリスト

"{{ route('tasks.store') }}" method="POST"> @csrf "text" name="title" placeholder="新しいタスク" required>
    @foreach ($tasks as $task)
  • {{ $task->title }}
    "{{ route('tasks.destroy', $task) }}" method="POST" style="display:inline;"> @csrf @method('DELETE')
  • @
    endforeach

このビューでは、タスクを一覧表示し、新しいタスクを追加するフォームと、タスクを削除するボタンを表示します。

8. 最後の確認

すべての設定が完了したら、再度開発サーバーを起動し、ブラウザでhttp://localhost:8000/tasksにアクセスします。これで、タスクの追加、削除ができるToDoアプリケーションが完成です。

9. 結論

このチュートリアルでは、Laravel 5を使用してシンプルなToDoアプリケーションを作成する方法を紹介しました。これにより、Laravelの基本的な使い方を学ぶことができ、さらに高度な機能を追加していくための基盤を作成することができます。Laravelの強力なEloquent ORMやルーティング、ビューのテンプレート機能を活用することで、簡単にWebアプリケーションを開発することができます。

Back to top button