首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Laravel 新手入門:路由、控制器、模型、資料庫完整實戰流程

     編輯:MySQL 綜合教學

Laravel 新手入門:路由、控制器、模型、資料庫完整實戰流程

Laravel 以優雅語法與完整生態聞名。本文記錄從環境準備到建立第一個後台模組的完整步驟,適合 PHP 框架初學者快速上手。

環境準備

  • 整合環境:WNMP (Windows + Nginx + MySQL + PHP) 或 Laragon、Docker
  • Composer 依賴管理器
  • PHP ≥ 7.4(Laravel 8+)、≥ 8.0(Laravel 9+)、≥ 8.1(Laravel 10+)

步驟 1:建立專案


composer create-project laravel/laravel myapp
cd myapp
php artisan serve  # 開發伺服器 https://127.0.0.1:8000

步驟 2:配置資料庫

編輯 .env:


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=root
DB_PASSWORD=secret

執行遷移測試連線:


php artisan migrate

步驟 3:建立後台路由群組

routes/web.php:


Route::group([
    'middleware' => ['web', 'admin.login'],
    'prefix' => 'admin',
    'namespace' => 'Admin'
], function () {
    Route::get('index', 'IndexController@index');
    // 資源路由一鍵生成 CRUD
    Route::resource('category', 'CategoryController');
});

⚠️ Laravel 8+ 預設關閉 namespace 自動前綴,需在 RouteServiceProvider 中設定 $namespace = 'App\\Http\\Controllers' 或使用完整類名。

步驟 4:建立控制器


php artisan make:controller Admin/IndexController
php artisan make:controller Admin/CategoryController --resource

app/Http/Controllers/Admin/IndexController.php:


namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;

class IndexController extends Controller {
    public function index() {
        return view('admin.index');  // resources/views/admin/index.blade.php
    }
}

步驟 5:建立模型與資料表


php artisan make:model Category -m  // 同時建立遷移檔

database/migrations/xxxx_create_categories_table.php:


Schema::create('categories', function (Blueprint $table) {
    $table->id('cate_id');              // 主鍵欄位名自訂
    $table->string('name', 100);
    $table->text('description')->nullable();
    $table->timestamps();               // created_at、updated_at
});

app/Models/Category.php:


namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Category extends Model {
    protected $table = 'categories';
    protected $primaryKey = 'cate_id';
    public $timestamps = true;          // 對應 timestamps()
    protected $guarded = [];            // 允許批量賦值(或用 $fillable)
}

執行遷移:


php artisan migrate

步驟 6:資料庫管理工具

推薦 Navicat Premium、TablePlus、DBeaver 視覺化管理。

步驟 7:視圖模板

resources/views/admin/index.blade.php:


@extends('layouts.admin')

@section('content')

後台首頁

歡迎使用 Laravel 後台管理系統

@endsection

常用指令速查

指令用途
php artisan make:controller Name建立控制器
php artisan make:model Name -m建立模型+遷移
php artisan make:migration Name建立遷移檔
php artisan migrate執行遷移
php artisan migrate:rollback回滾最後一批遷移
php artisan route:list查看所有路由
php artisan tinker互動式 CLI 測試 Eloquent

進階學習路徑

  1. Eloquent 關聯關係(hasOne、hasMany、belongsTo、belongsToMany)
  2. 表單驗證(Form Request)
  3. 權限控制(Gate、Policy、Spatie Permission)
  4. API 資源(API Resource、Sanctum/Passport)
  5. 佇列與排程(Queue、Scheduler)
  6. 測試

Laravel 學習曲線平緩,核心在於理解「服務容器→門面→契約→服務提供者」的 IOC 體系與 Eloquent ORM 的 Active Record 實現。多動手建專案,比單純閱讀文件有效得多。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved