>  기사  >  PHP 프레임워크  >  Laravel에서 서비스를 빠르게 생성하는 방법에 대해 이야기해 볼까요?

Laravel에서 서비스를 빠르게 생성하는 방법에 대해 이야기해 볼까요?

藏色散人
藏色散人앞으로
2021-12-06 15:19:561953검색

다음 Laravel 튜토리얼 칼럼에서는 make:service 명령을 사용하여 서비스를 빠르게 생성하는 방법을 소개합니다. 모든 분들께 도움이 되길 바랍니다!

Artisan은 Laravel의 명령줄 인터페이스입니다. Artisan은 애플리케이션의 루트 디렉터리에 artisan 스크립트로 존재하며 애플리케이션을 구축할 때 도움이 될 수 있는 많은 유용한 명령을 제공합니다. Artisan에서 제공하는 명령어 외에도 사용자 정의 명령어를 직접 작성할 수도 있습니다. 대부분의 경우 명령은 app/Console/Commands 디렉터리에 있지만 Composer에서 명령을 로드할 수 있는 한 저장할 위치를 자유롭게 선택할 수 있습니다.

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

사전 작업

시작하기 전에 해당 디렉터리와 파일을 준비해야 합니다.

다음 명령을 사용하면 ServiceMakeCommand.php 파일을 빠르게 생성할 수 있습니다.

<?php

namespace App\Services;
class UserService{
    //
    }
실행 후 명령콘솔에 생성됩니다. > 폴더 > 폴더 및 Commands/ServiceMakeCommand.php 파일.

또한 Commands 폴더 아래에 일부 폴더와 파일을 추가해야 합니다. 🎜🎜구조는 다음과 같습니다: 🎜rrreee🎜service.plain.stub 코드: 🎜🎜 app/ Console/Commands/stubs/service.plain.stub🎜rrreee🎜 이것으로 사전 준비는 끝났습니다. 아주 간단하지 않나요? 하하. 🎜🎜🎜🎜빨리 시작하세요🎜🎜그럼 바로 연주를 시작하겠습니다. 변경된 코드에 주목하세요. 🎜🎜우리는 주로 ServiceMakeCommand.php 파일을 작업하므로 다음과 같습니다. 🎜🎜app/Console/Commands/ServiceMakeCommand.php🎜rrreee🎜마지막으로 다음 명령을 실행하여 UserService 를 빠르게 생성합니다. php 파일: 🎜rrreee🎜구조는 다음과 같습니다. 🎜rrreee🎜UserService.php가 우리가 상상한 코드와 일치하는지 확인해 보겠습니다. 🎜🎜app/Services/UserService.php 🎜rrreee 🎜축하합니다. 원하는 결과를 얻었습니다. 🎜🎜요약🎜🎜비록 우리가 한 일은 상대적으로 간단하지만 몇 가지 개선만 하면 더욱 완벽하게 만들 수 있습니다. 🎜

위 내용은 Laravel에서 서비스를 빠르게 생성하는 방법에 대해 이야기해 볼까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:Laravel의 컨트롤러다음 기사:Laravel의 컨트롤러