Rumah >pembangunan bahagian belakang >tutorial php >Laravel: Adakah ia benar -benar bersih dan berkelas?

Laravel: Adakah ia benar -benar bersih dan berkelas?

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-26 10:30:10586semak imbas

Laravel: Is It Really Clean and Classy?

sorotan utama

Migrasi pangkalan data

Pertama, kami menentukan skema pangkalan data. Jadual tunggal dengan lima lajur (id, tajuk, keterangan, created_at, updated_at) cukup. Migrasi Laravel memudahkan kemas kini pangkalan data. Fail penghijrahan kelihatan seperti ini:

<code class="language-php"><?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');
    }
}</code>
Melaksanakan penghijrahan, dan

membalikkannya. up() down()

Model

Senibina MVC Laravel memerlukan model untuk interaksi pangkalan data. Jadual mudah kami memerlukan model mudah:

Laravel secara automatik menghubungkan
<code class="language-php"><?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Todo extends Model
{
    protected $fillable = ['title', 'description'];
    public $timestamps = true;
}</code>
ke jadual

. Eloquent, Laravel's Orm, memudahkan manipulasi objek pangkalan data. Todo mengemas kini secara automatik todos dan $timestamps = true. created_at updated_at

Pengawal

Pengawal menempatkan logik aplikasi:

Dapatkan semua penyertaan.
  • Dapatkan entri tertentu.
  • Padam entri.
  • Buat borang penyertaan baru.
  • tambah entri baru.
  • pengawal dengan lima tindakan (kaedah):

Kod ini jelas. Eloquent memudahkan Akses Pangkalan Data ().
<code class="language-php"><?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');
    }
}</code>
menggunakan pengesahan permintaan.

Todo::all() action_add() paparan (contoh: senarai)

Enjin Templating Blade Laravel mencipta pemandangan yang bersih. Paparan :

list

Kesimpulan
<code class="language-blade"><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></code>

Membina aplikasi mudah ini menunjukkan kemudahan penggunaan dan kebolehbacaan kod Laravel. Rangka kerja ini memenuhi tuntutan "bersih dan berkelas".

(Nota: Coretan kod yang disediakan adalah contoh yang dipermudahkan dan mungkin memerlukan pelarasan untuk aplikasi berfungsi sepenuhnya. Pengendalian ralat dan ciri -ciri yang lebih mantap diperlukan dalam persekitaran pengeluaran.)

Atas ialah kandungan terperinci Laravel: Adakah ia benar -benar bersih dan berkelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn