Schlüsselhighlights
Die Laravel -Homepage verfügt über ein "sauberes und klassisches" Framework, das Entwickler aus dem verworrenen Code befreien. Testen wir dies, indem wir eine einfache Todo -Anwendung erstellen.
Datenbankmigrationen
Erstens definieren wir das Datenbankschema. Eine einzelne Tabelle mit fünf Spalten (ID, Titel, Beschreibung, erstellt_at, updated_at) reicht aus. Die Migrationen von Laravel vereinfachen Datenbankaktualisierungen. Die Migrationsdatei sieht so aus:
<?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()
führt die Migration aus und down()
kehrt sie um.
Das Modell
Die MVC -Architektur vonLaravel erfordert ein Modell für die Datenbankinteraktion. Unsere einfache Tabelle benötigt ein einfaches Modell:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Todo extends Model { protected $fillable = ['title', 'description']; public $timestamps = true; }
laravel verlinkt automatisch Todo
mit der Tabelle todos
. Eloquent, Laravels ORM, erleichtert die Manipulation des Datenbankobjekts. $timestamps = true
aktualisiert automatisch created_at
und updated_at
.
Der Controller
Der Controller beherbergt die Anwendungslogik:
der Controller mit fünf Aktionen (Methoden):
<?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'); } }
Der Code ist klar. Eloquent vereinfacht den Datenbankzugriff (Todo::all()
). action_add()
verwendet Anforderungsvalidierung.
Die Ansicht (Beispiel: Liste)
Laravels Blade Templating Engine erzeugt saubere Aussichten. Die list
Ansicht:
<h2>Todo List</h2> <p>{{ link_to_route('todo.new', 'Add new todo') }}</p> <ul> @foreach ($todos as $todo) <li>{{ link_to_route('todo.view', $todo->title, [$todo->id]) }} - {{ link_to_route('todo.delete', 'Delete', [$todo->id]) }}</li> @endforeach </ul>
Schlussfolgerung
Aufbau dieser einfachen Anwendung zeigt die Benutzerfreundlichkeit von Laravel und die Code -Lesbarkeit. Der Rahmen entspricht seiner "sauberen und klassischen" Behauptung.
(Hinweis: Die bereitgestellten Code -Ausschnitte sind vereinfachte Beispiele und müssen möglicherweise Anpassungen für eine voll funktionsfähige Anwendung erfordern. In einer Produktionsumgebung wären Fehlerbehandlungen und robustere Funktionen erforderlich.)
Das obige ist der detaillierte Inhalt vonLaravel: Ist es wirklich sauber und edel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!