laravel通过创建自定义artisan make命令来新建类文件详解「建议收藏」

laravel通过创建自定义artisan make命令来新建类文件详解「建议收藏」laravel通过创建自定义artisan make命令来新建类文件详解

大家好,又见面了,我是你们的朋友全栈君。

 make
  make:auth            Scaffold basic login and registration views and routes
  make:command         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:mail            Create a new email class
  make:middleware      Create a new middleware class
  make:migration       Create a new migration file
  make:model           Create a new Eloquent model class
  make:notification    Create a new notification 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

当以上make命令不能满足我需求时,请往下看

Console目录

Console目录包含应用所有自定义的Artisan命令,这些命令类可以使用make:command命令生成。该目录下还有console核心类,在这里可以注册自定义的Artisan命令以及定义调度任务。

创建命令类

1,在app\Console\Commands文件夹下创建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';
 }
}

注意:
1,在app\Console\Commands\stubs下创建模版文件 .stub文件是make命令生成的类文件的模版,用来定义要生成的类文件的通用部分创建repository.stub模版文件:

2, 创建命令类对应的模版文件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!
 }
}

3,注册命令类

将RepositoryMakeCommand添加到App\Console\Kernel.php中

protected $commands = [
 Commands\RepositoryMakeCommand::class
];

测试命令

php artisan make:repository TestRepository
 
php artisan make:repository SubDirectory/TestRepository

原文链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105890.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月24日 下午3:00
下一篇 2022年4月24日 下午3:20


相关推荐

  • PostConstruct用法

    PostConstruct用法PostConstruc 方法

    2026年3月26日
    2
  • petri网基本知识

    petri网基本知识Petrinetgrap Petri 网用于描述和分析系统中的控制流和信息流 尤其是那些有异步和并发活动的系统 圆圈表示位置 place 圆圈中有标识 token 表示条件 condition 满足 线段 bar 表示变迁 transition 一个 Petrinetgrap 如下图所示因为 petri 网中的弧是有方向的 所以 petri 网图是有向图 又因为 pe

    2026年3月16日
    2
  • eclipse import导入报错_project2016安装出错

    eclipse import导入报错_project2016安装出错【转载请注明出处:http://blog.csdn.net/zjbpku/article/details/7370347】本文只介绍方法不解释原因:0,如果R.layout.main有误,将importandroid.R删除一,删除gen文件,会自动生成一个新的gen(Project下的BuildAutomatically要选上)二、右键点击有误文件,选择BuildP

    2026年4月16日
    6
  • 程序员免费自学编程的8大网站!

    程序员免费自学编程的8大网站!正文开始很多人包括一些企业家 和市场营销人员都认为学习编程对一个人走向成功十分有帮助 在过去的一年里 我一直在学习编程 它有助我成为一个更好的创业者 我甚至可以提供一些帮助 当我的团队需要解决一些 bug 的时候 现在 如果你想学编程的话 这 12 个网站可以帮助你 它们都提供了免费的课程供你学习 因此你无需担心费用的问题 1 Codecademy 其中 Codecademy 是最受欢迎的

    2026年3月19日
    3
  • jpa(一)—-spring-data-jpa 复杂查询,包括多表关联,分页,排序等「建议收藏」

    jpa(一)—-spring-data-jpa 复杂查询,包括多表关联,分页,排序等「建议收藏」转载:由于此转载文章的出处也是转载的,所以原作者不详本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有一个系列来讲解mybatis,这个系列从myb…

    2022年4月28日
    186
  • Java代码是怎么运行的「建议收藏」

    Java代码是怎么运行的「建议收藏」Java代码有很多运行方式。在开发工具中运行双击jar文件运行在命令行中运行在网页中运行当然,上述运行方式都离不开JRE, 也就是Java运行时环境。JRE仅包含Java程序的必须组件,包括Java虚拟机以及Java核心类库…

    2022年7月7日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号