PHPackages                             a2workspace/laravel-stubs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. a2workspace/laravel-stubs

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

a2workspace/laravel-stubs
=========================

一個基於專案的類別模板注入器。

1.1.0(3y ago)870MITPHPPHP ^7.4|^8.0

Since Dec 14Pushed 3y ago1 watchersCompare

[ Source](https://github.com/A2Workspace/laravel-stubs)[ Packagist](https://packagist.org/packages/a2workspace/laravel-stubs)[ RSS](/packages/a2workspace-laravel-stubs/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (1)Versions (8)Used By (0)

Laravel-Stubs
=============

[](#laravel-stubs)

[ ![](https://github.com/A2Workspace/laravel-stubs/actions/workflows/coverage.yml/badge.svg)](https://github.com/A2Workspace/laravel-stubs)[ ![](https://camo.githubusercontent.com/2f831df4d9d2450b536abefc4aef7fe530b1526d7c508e1944c4caff46dd7a35/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f4132576f726b73706163652f6c61726176656c2d73747562732f74657374733f7374796c653d666c61742d737175617265)](https://github.com/A2Workspace/laravel-stubs)[ ![](https://camo.githubusercontent.com/7e1aee0984cc29aedb2ef63ef4ed0fe8c23138b26ed1e6e14ea201f45fedf1fe/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f4132576f726b73706163652f6c61726176656c2d73747562732e7376673f7374796c653d666c61742d737175617265)](https://codecov.io/gh/A2Workspace/laravel-stubs)[ ![](https://camo.githubusercontent.com/6b0a7d4342d0a56e478c12f7befcbf48bb63517ec64bd0e2881009947007e593/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f4132576f726b73706163652f6c61726176656c2d73747562733f7374796c653d666c61742d737175617265)](https://github.com/A2Workspace/laravel-stubs/blob/master/LICENSE)[ ![](https://camo.githubusercontent.com/fe46aa0a5116c0f2a547abb4c33990b47c66428ccd5e97d0ccbd2b280ce81243/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6132776f726b73706163652f6c61726176656c2d73747562732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/a2workspace/laravel-stubs)[ ![](https://camo.githubusercontent.com/b61653b856adb80804757970025afa6135893989d88474be813c0893721e95df/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6132776f726b73706163652f6c61726176656c2d73747562732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/a2workspace/laravel-stubs)

一個基於專案的程式模板注入器。

[![Laravel-Stubs demo](/.github/animation.gif)](/.github/animation.gif)

透過在專案中的 `resources/stubs` 目錄下，放置類別的模板文件，然後透過命令快速注入並生成。相比原生的 `artisan make:*` 命令可大大減少編寫時間，且模板檔案可隨版控被 git 紀錄。

目前支援的類別類型：

- 命名空間 App\\\* 開頭的類別
- 命名空間 Tests\\\* 開頭的類別
- 命名空間 Database\\\* 開頭的類別

Installation | 安裝
-----------------

[](#installation--安裝)

執行下列命令透過 composer 引入到你的 Laravel 專案:

```
composer require a2workspace/laravel-stubs
```

接著使用 `vendor:publish` 命令生成配置文件與 `resources/stubs` 資料夾:

```
php artisan vendor:publish --tag=@a2workspace/laravel-stubs
```

預設的 `resources/stubs` 資料夾內附帶一個簡單的範例。

Usage | 如何使用
------------

[](#usage--如何使用)

現在你可以使用 `make:a...` [Artisan 命令](https://laravel.com/docs/9.x/artisan)來生成類別。該命令將會讀取 `resources/stubs` 下的目錄或 `.php` 檔案，將佔位符依照格式替換為給定的名稱，並依照類別名稱自動生成檔案到相對的路徑。

```
php artisan make:a...
```

可以傳入一個搜尋參數:

```
php artisan make:a... Example
```

Development | 如何編寫自己的類別模板
-------------------------

[](#development--如何編寫自己的類別模板)

**類別模板** 預設被存放在 `resources/stubs` 目錄下，支援單一 `.php` 檔案或一整個目錄包。檔案名稱並不會影響注入過程，`laravel-stubs` 將會以最終處理完的 `namespace` 作為依據，將生成的檔案放置到專案的相對路徑。

你可以建立一個 **類別模板** 並透過 `Dummy` 佔位符填充類別名稱。

一個簡單的 `Model` 模板如下:

```
