laravel을 통해 새 클래스 파일을 생성하기 위해 사용자 정의 artisan make 명령을 생성하는 방법
다음 글에서는 laravel이 custom artisan make 명령을 생성하여 새로운 클래스 파일을 생성하는 방법에 대한 관련 정보를 주로 소개합니다. 필요한 친구들이 참고할 수 있습니다.
Laravel은 비브라우저 비즈니스 로직을 처리하기 위해 Artisan을 통해 강력한 콘솔 명령을 제공합니다.
머리말
이 글은 주로 사용자 정의 artisan make 명령을 생성하여 새로운 클래스 파일을 생성하는 laravel에 대한 관련 내용을 소개합니다. 참고 및 학습을 위해 공유하겠습니다. 자세한 소개는 아래에서 함께 살펴보도록 하겠습니다.
laravel을 개발할 때 우리는 artisan make:controller
와 같은 명령을 사용하여 Controller, Model, Job, Event와 같은 새로운 클래스 파일을 생성하는 경우가 많습니다. Laravel5.2에서 artisan make
명령은 다음 파일 생성을 지원합니다: artisan make:controller
等命令来新建Controller、Model、Job、Event等类文件。 在Laravel5.2中artisan make
命令支持创建如下文件:
make:auth Scaffold basic login and registration views and routes make:console Create a new Artisan command make:controller Create a new controller class make:event Create a new event class make:job Create a new job class make:listener Create a new event listener class make:middleware Create a new middleware class make:migration Create a new migration file make:model Create a new Eloquent model class make:policy Create a new policy class make:provider Create a new service provider class make:request Create a new form request class make:seeder Create a new seeder class make:test Create a new test class
不过,有时候默认的并不能够满足我们的需求, 比方我们在项目中使用的Respository模式来进一步封装了Model文件,就需要经常创建Repository类文件了,时间长了就会想能不能通过artisan make:repository
命令自动创建类文件而不是都每次手动创建。
系统自带的artisan make
命令对应的PHP程序放在IlluminateFoundationConsole目录下,我们参照IlluminateFoundationConsoleProviderMakeCommand类来定义自己的artisan make:repository
命令。
一、创建命令类
在appConsoleCommands文件夹下创建RepositoryMakeCommand.php文件,具体程序如下:
namespace App\Console\Commands; use Illuminate\Console\GeneratorCommand; class RepositoryMakeCommand extends GeneratorCommand { /** * The console command name. * * @var string */ protected $name = 'make:repository'; /** * The console command description. * * @var string */ protected $description = 'Create a new repository class'; /** * The type of class being generated. * * @var string */ protected $type = 'Repository'; /** * Get the stub file for the generator. * * @return string */ protected function getStub() { return __DIR__.'/stubs/repository.stub'; } /** * Get the default namespace for the class. * * @param string $rootNamespace * @return string */ protected function getDefaultNamespace($rootNamespace) { return $rootNamespace.'\Repositories'; } }
二、创建命令类对应的模版文件
在appConsoleCommandsstubs下创建模版文件 .stub文件是make命令生成的类文件的模版,用来定义要生成的类文件的通用部分创建repository.stub模版文件:
namespace DummyNamespace; use App\Repositories\BaseRepository; class DummyClass extends BaseRepository { /** * Specify Model class name * * @return string */ public function model() { //set model name in here, this is necessary! } }
三、注册命令类
将RepositoryMakeCommand添加到AppConsoleKernel.php中
protected $commands = [ Commands\RepositoryMakeCommand::class ];
测试命令
好了, 现在就可以通过make:repository
php artisan make:repository TestRepository php artisan make:repository SubDirectory/TestRepository
artisan make:repository
명령을 통해 자동으로 클래스 파일을 생성할 수 있는지 궁금할 것입니다. 매번 말이죠. 시스템과 함께 제공되는 artisan make
명령에 해당하는 PHP 프로그램은 IlluminateFoundationConsole 디렉토리에 위치합니다. 우리는 자체 artisan make:repository
를 정의하기 위해 IlluminateFoundationConsoleProviderMakeCommand 클래스를 참조합니다. > 명령.
appConsoleCommands 폴더에 RepositoryMakeCommand.php 파일을 생성합니다. 구체적인 절차는 다음과 같습니다.
🎜 2. 다음에 해당하는 템플릿 파일을 생성합니다. 명령 class 🎜 🎜🎜 🎜🎜appConsoleCommandsstubs 아래에 템플릿 파일을 만듭니다. 스텁 파일은 make 명령으로 생성된 클래스 파일의 템플릿입니다. 생성할 클래스 파일의 공통 부분을 정의하는 데 사용됩니다. .stub 템플릿 파일: 🎜🎜🎜rrreee🎜🎜🎜🎜🎜 3. 명령 클래스를 등록합니다🎜🎜🎜🎜🎜RepositoryMakeCommand를 AppConsoleKernel.php에 추가🎜🎜🎜rrreee🎜🎜🎜🎜명령 테스트 🎜🎜🎜🎜좋아, 이제 너는
make:repository
명령 리포지토리 클래스 파일을 통해 생성할 수 있습니다🎜🎜🎜rrreee🎜🎜🎜위 내용은 모두의 학습에 도움이 되기를 바랍니다. , PHP 중국어 웹사이트를 주목해주세요! 🎜🎜관련 권장사항: 🎜🎜🎜Laravel에서 리소스 라우팅 사용자 정의 URL을 다시 작성하는 구현 방법에 대해🎜🎜🎜🎜🎜laravel 5.4에서 무제한 분류를 구현하는 방법에 대해🎜🎜🎜🎜🎜🎜🎜위 내용은 laravel을 통해 새 클래스 파일을 생성하기 위해 사용자 정의 artisan make 명령을 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

laravel 일정 작업 실행 비 응답 문제 해결 Laravel의 일정 작업 일정을 사용할 때 많은 개발자 가이 문제에 직면합니다 : 스케줄 : 실행 ...

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

DCAT를 사용할 때 DCATADMIN (LARAVEL-ADMIN)에서 데이터를 추가하려면 사용자 정의의 테이블 기능을 구현하는 방법 ...

Laravel - 덤프 서버 - Laravel 덤프 서버는 Laravel 5.7 버전과 함께 제공됩니다. 이전 버전에는 덤프 서버가 포함되어 있지 않습니다. 덤프 서버는 laravel/laravel 작곡가 파일의 개발 종속성이 됩니다.

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...

Laravel 다중 테넌트 확장 패키지 패키지 패키지 패키지 패키지 Stancl/Tenancy, ...

Laravel - 액션 URL - Laravel 5.7에는 "호출 가능한 액션 URL"이라는 새로운 기능이 도입되었습니다. 이 기능은 액션 메소드에서 문자열을 허용하는 Laravel 5.6의 기능과 유사합니다. Laravel 5.7에 도입된 새로운 구문의 주요 목적은
