首頁  >  文章  >  php框架  >  聊聊laravel怎麼快速產生 Services?

聊聊laravel怎麼快速產生 Services?

藏色散人
藏色散人轉載
2021-12-06 15:19:561954瀏覽

下面由Laravel教學欄位帶大家介紹如何使用 make:service 指令來快速產生 Services,希望對大家有幫助!

前言

Artisan 是 Laravel 隨附的命令列介面。 Artisan 以 artisan 腳本的形式存在於應用的根目錄,並提供了許多有用的命令,這些命令可以在構建應用時為你提供幫助。

除 Artisan 提供的指令外,你也可以寫自己的自訂指令。命令在多數情況下位於 app/Console/Commands 目錄中; 不過,只要你的命令可以由 Composer 加載,你就可以自由選擇自己的存儲位置。

前期工作

在開始之前,我們要準備對應的目錄和檔案。

我們可以使用以下指令快速產生ServiceMakeCommand.php 檔案:

php artisan make:command ServiceMakeCommand

執行完後會在你的Console 資料夾下產生Commands 資料夾和Commands/ServiceMakeCommand.php 檔案。

我們還需要在Commands 資料夾下新增一些資料夾和檔案:

結構如下:

- app
    - Console
+   - Commands
+       - stubs
+           - service.plain.stub
+       - ServiceMakeCommand.php
        - Kernel.php
- .
- .
- .

service.plain. stub 程式碼:

app/Console/Commands/stubs/service.plain.stub

<?php

namespace {{ namespace }};

class {{ class }}
{
    //
}

我們的前期準備就此結束,是不是很簡單?哈哈。

快速開始

接下來我們就直接一把梭哈了,注意改動的程式碼噢。

我們主要對著ServiceMakeCommand.php 檔案一把梭哈,所以:

app/Console/Commands/ServiceMakeCommand.php

<?php

namespace App\Console\Commands;

use Illuminate\Console\GeneratorCommand;

class ServiceMakeCommand extends GeneratorCommand
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = &#39;make:service {name}&#39;;

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = &#39;Create a new service class&#39;;

    /**
     * The type of class being generated.
     *
     * @var string
     */
    protected $type = &#39;Service&#39;;

    /**
     * Get the stub file for the generator.
     *
     * @return string
     */
    protected function getStub()
    {
        return __DIR__ . &#39;/stubs/service.plain.stub&#39;;
    }

    /**
     * Get the default namespace for the class.
     *
     * @param  string  $rootNamespace
     * @return string
     */
    protected function getDefaultNamespace ( $rootnamespace )
    {
        return $rootnamespace . &#39;\Services&#39;;
    }
}

最後,我們執行以下命令快速產生UserService.php 檔案:

php artisan make:service UserService

結構如下:

- app
    - Console
        - Commands
        - stubs
        - service.plain.stub
        - ServiceMakeCommand.php
        - Kernel.php
+   - Services
+       - UserService.php
- .
- .
- .

讓我們查看UserService.php 和我們想像中的程式碼是否一致:

app/Services/UserService.php

<?php

namespace App\Services;
class UserService{
    //
    }

恭喜,我們已經做到我們想要的結果了。

總結

雖然我們做得比較簡陋,但我們只需稍加改進,就可以讓它變得更完善。

以上是聊聊laravel怎麼快速產生 Services?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除