Laravel 視圖檔案遵循 resources/views/ 目錄結構、.blade.php 副檔名、巢狀目錄對應 . 分隔。手動建立需切換終端/編輯器、記住路徑、輸入樣板碼。
composer require sven/artisan-view
// config/app.php
'providers' => [
// ...
Sven\ArtisanView\ArtisanViewServiceProvider::class,
],
php artisan list | grep view # make:view 建立視圖 # scrap:view 刪除視圖
make:view 完整參數| 指令 | 效果 | 輸出路徑 |
|---|---|---|
php artisan make:view index | 根目錄建立 index.blade.php | resources/views/index.blade.php |
php artisan make:view pages.index | 子目錄建立 | resources/views/pages/index.blade.php |
php artisan make:view index --directory=custom/path | 自定義相對專案根目錄路徑 | custom/path/index.blade.php |
php artisan make:view index --extension=html | 指定副檔名 | resources/views/index.html |
php artisan make:view index --extends=app | 繼承母版 (自動生成 @extends、@section) | 含 @extends('app') |
php artisan make:view index --sections=title,content | 預設區塊 | 含 @section('title'), @section('content') |
php artisan make:view products --resource | 資源視圖組 (index/create/edit/show) | 4 個檔案 |
php artisan make:view products --resource --verbs=index,create,edit | 指定資源動作 | 3 個檔案 |
php artisan make:view products --resource --extends=layout --sections=foo,bar | 資源組 + 繼承 + 區塊 | 完整樣板 |
scrap:viewphp artisan scrap:view index # 刪除 resources/views/index.blade.php php artisan scrap:view pages.index # 刪除 resources/views/pages/index.blade.php
# 指令
php artisan make:view posts.show --extends=layouts.app --sections=title,content
# 生成 resources/views/posts/show.blade.php
@extends('layouts.app')
@section('title')
@endsection
@section('content')
@endsection
# 指令 php artisan make:view admin.users --resource # 生成 4 個檔案: # resources/views/admin/users/index.blade.php # resources/views/admin/users/create.blade.php # resources/views/admin/users/edit.blade.php # resources/views/admin/users/show.blade.php # 每個都含基本 @extends/@section 結構
| 場景 | 傳統耗時 | Artisan View 耗時 |
|---|---|---|
| 新增單頁 | 30-60 秒 | 3 秒 |
| 建立 CRUD 視圖組 | 3-5 分鐘 | 10 秒 |
| 重構目錄結構 | 手動移動+修改引用 | 刪除重建 |
擴展包註冊兩個 Artisan Command 類,核心邏輯:
scrap:view 反向操作:路徑解析 → 確認存在 → 刪除檔案sven/artisan-view 以極簡 API 解決視圖檔案管理痛點,特別適合:
一條指令,視圖就位,專注業務邏輯而非檔案操作。