MVC也並不是Laravel專屬
MVC主要是分化程式的職責,想像一下,今天使用者在網頁上登入,而登入的畫面、程式邏輯、取得資料庫都在同一個.php檔案中,會有甚麼問題?
以上還不是全部,但你也看出來這種大雜燴的方式並不是一個好的設計模式
MVC分別是
Laravel已經為我們做了很多,例如連接資料庫、Blade(前端View)、還有諸多底層套件與語法糖(Illuminate)等
我們只要享受開發所帶來的快樂就好了
在這之前,先確認有寫資料庫連線設定,在**.env**
如果你使用laragon,在創建專案時就會順便幫你建立資料庫名稱為專案名稱的資料庫了
預設使用者為root 密碼為空(跟上圖一樣
創建Post Model,-cm代表同時創建Controller和Migration(Controller下次再介紹
php artisan make:model Post -cm
Migration 是用來創建資料表的定義
Migration 目錄: database\migrations
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->bigInteger('user_id')->default(0)->comment('關聯使用者')->index();
$table->text('title');
$table->text('content');
$table->integer('views')->default(0)->comment('觀看數');
$table->timestamps();
$table->softDeletes();
});
這是我簡單寫的範例,接下來在終端中輸入:
php artisan migrate
前面幾項是Laravel自帶,暫時先不刪掉
再回到資料庫就可以看到資料表已經建立完囉
Model的目錄在app\Models下
現在先維持它乾乾淨淨的樣子,之後會很多用到它的情境
先記住它是用來定義資料庫的關係
舉例來說,Laravel支援跨資料庫
更多方式可以看這裡
這次我們了解的MVC的美妙,並透過簡單的設定和指令,連接資料庫並定義且創建了資料表
下次我們先把View放後面,從Controller先介紹起
汽車在早期制定的標準化流程,每個工人在自己的崗位上專注做一件事,進而提升效率,同理也可以用於MVC架構 - 筆者Ryan Wu