キーハイライト
最初に、データベーススキーマを定義します。 5つの列(ID、タイトル、説明、created_at、updated_at)を備えた単一のテーブルで十分です。 Laravelの移行は、データベースの更新を簡素化します。 移行ファイルは次のようになります:
移行が実行され、
がそれを逆にします。
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTodoTable extends Migration { public function up() { Schema::create('todos', function (Blueprint $table) { $table->increments('id'); $table->string('title', 20); $table->text('description'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('todos'); } }
up()
down()
LaravelのMVCアーキテクチャには、データベースの相互作用のモデルが必要です。 私たちのシンプルなテーブルには、簡単なモデルが必要です:
laravelはを自動的に
テーブルにリンクします。 LaravelのORMのEloquentは、データベースオブジェクトの操作を促進します。 および<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Todo extends Model { protected $fillable = ['title', 'description']; public $timestamps = true; }
を自動的に更新します
Todo
todos
コントローラー$timestamps = true
created_at
updated_at
コントローラーには、アプリケーションロジック:
すべてのエントリを取得します。 特定のエントリを取得します。
エントリを削除します。
<?php namespace App\Http\Controllers; use App\Models\Todo; use Illuminate\Http\Request; class TodoController extends Controller { public function list() { $todos = Todo::all(); return view('list', compact('todos')); } public function view($id) { $todo = Todo::find($id); return view('view', compact('todo')); } public function delete($id) { $todo = Todo::find($id); $todo->delete(); return view('deleted'); } public function new() { return view('add'); } public function add(Request $request) { $validatedData = $request->validate([ 'title' => 'required|max:20', 'description' => 'required', ]); Todo::create($validatedData); return view('success'); } }
ビュー:Todo::all()
action_add()
結論
この単純なアプリケーションの構築は、Laravelの使いやすさとコードの読みやすさを示しています。 フレームワークは、その「清潔で上品な」主張に耐えます。(注:提供されたコードスニペットは簡素化された例であり、完全に機能するアプリケーションのために調整が必要になる場合があります。エラー処理と、生産環境では、より堅牢な機能が必要になります。
以上がLaravel:本当にきれいで上品ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。