Skip to main content
本文根據原始碼調查所整理。此套件才剛加上 v0.1 tag,屬於開發初期階段(2026 年 5 月時點)。

什麼是 Laravel Chisel

Laravel Chisel 是一個提供安裝後腳本原語的套件,用於從 Laravel 啟動套件中移除不需要的功能。 啟動套件內含許多預先準備好的功能,但在某些專案中,部分功能是不必要的。Chisel 透過在安裝後以互動式方式「只保留所需功能」的機制解決此問題。

為何需要

Laravel 啟動套件內建了許多功能,但並非每個專案都需要所有功能。例如:
  • 不需要 Email 驗證的專案
  • 不使用 Passkey 認證的專案
  • 不需要某些 Livewire 元件的結構
過去必須手動刪除不需要的功能,使用 Chisel 後就能在安裝時以互動式 prompt 完成客製化

chisel.php 腳本定義

使用 Chisel 的啟動套件會在專案根目錄放置 chisel.php 檔案。此檔定義「哪些功能是可選項」。

腳本定義方法

互動式回答收集

collectAnswers() 會回傳回答收集器。所有方法均為流暢式,可依任意順序呼叫。在非互動式環境下會自動使用預設值。 外部的 Artisan 指令使用 Laravel Prompts 顯示 prompt,並將回答交給 Chisel。

檔案變更

file($path) 針對單一檔案、files(...$paths) 針對多個檔案。

基於 PHP AST 的編輯

php($path) 提供使用 PHP AST 的編輯。當物件被銷毀時會自動儲存變更。 關於 PHP AST(抽象語法樹)的基礎與 nikic/php-parser 的使用方式,可參考這裡

Section Markers

用註解對包住可選程式碼。
在 JSX 檔案中使用大括號({})包裹的區塊註解。
  • removeSectionMarkers('passkeys') — 刪除標記,保留程式碼
  • removeSection('passkeys') — 標記與程式碼一併刪除
chisel- 前綴會自動加上。

npm 支援

npm() 方法會自動偵測 npm、yarn、pnpm、bun。

目前的開發狀況

  • GitHub 儲存庫laravel/chisel
  • 發佈:v0.1(2026 年 5 月公開)
  • 開發期間:非公開開發 3 個月後才公開
Chisel 不是使用者直接安裝到 Laravel 應用中的套件,而是啟動套件內部使用的函式庫。未來可期待 Laravel 官方啟動套件提供以 Chisel 為基礎的安裝後腳本。

laravel/chisel 儲存庫

原始碼與最新 API 參考請見此處。

Laravel 啟動套件官方文件

啟動套件本身的使用方式請參考官方文件。
最後修改於 2026年8月2日