首頁 >後端開發 >php教程 >Laravel:真的很乾淨嗎?

Laravel:真的很乾淨嗎?

Joseph Gordon-Levitt
Joseph Gordon-Levitt原創
2025-02-26 10:30:10586瀏覽

Laravel: Is It Really Clean and Classy?

鍵突出顯示

    PHP框架Laravel 核心Laravel功能諸如數據庫遷移,雄辯的對象粘合映射器(ORM)以及刀片模板的引擎流動任務,例如路由,安全性和數據庫管理,為代碼清晰度做出了貢獻。 編寫乾淨的Laravel代碼涉及以下最佳實踐:乾燥(不要重複自己)原理,有意義的評論和描述性變量/功能/類名稱。 隨著項目的規模,Laravel的服務容器具有其依賴注入功能,管理班級依賴性並保持代碼清潔度。
  • > Laravel主頁擁有一個“乾淨且經典的框架,使開發人員擺脫了複雜的代碼。讓我們通過構建一個簡單的待辦器應用程序來測試這一點。
  • >

>數據庫遷移

首先,我們定義數據庫架構。 一個具有五個列(ID,標題,描述,Create_at,Updated_at)的單個表。 Laravel的遷移簡化了數據庫更新。 遷移文件看起來像這樣:

>執行遷移,
<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>
倒轉。

> up()down()模型

Laravel的MVC體系結構需要一個用於數據庫交互的模型。 我們的簡單表需要一個直接的模型:

laravel會自動將

鏈接到

>表。雄辯的Laravel的ORM促進了數據庫對像操縱。
<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>
自動更新

Todotodos$timestamps = true控制器created_at updated_at

控制器包含應用程序邏輯:

檢索所有條目。

檢索特定的條目。

    刪除條目。
  • 創建一個新的入口表格。
  • 添加一個新的條目。
  • 具有五個動作(方法)的控制器:
  • 代碼很清楚。 雄辯簡化了數據庫訪問(
)。

使用請求驗證。

<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>
>

視圖(示例:list)Todo::all()action_add()>

> Laravel的刀片模板引擎可創建乾淨的視圖。

視圖:

結論list

<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>
構建此簡單的應用程序表明了Laravel的易用性和代碼可讀性。 該框架符合其“乾淨,經典”的主張。

(注意:提供的代碼段是簡化的示例,可能需要調整功能齊全的應用程序。在生產環境中需要進行錯誤處理和更健壯的功能。

以上是Laravel:真的很乾淨嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn