全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

laravel通过创建自定义artisan make命令来新建类文件详解

前言

本文主要跟大家介绍的是关于laravel通过创建自定义artisan make命令来新建类文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

我们在laravel开发时经常用到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程序放在Illuminate\Foundation\Console目录下,我们参照Illuminate\Foundation\Console\ProviderMakeCommand类来定义自己的artisan make:repository命令。

一、创建命令类

在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';
 }
}

二、创建命令类对应的模版文件

在app\Console\Commands\stubs下创建模版文件 .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添加到App\Console\Kernel.php中

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

测试命令

好了, 现在就可以通过make:repository命令来创建repository类文件了

php artisan make:repository TestRepository

php artisan make:repository SubDirectory/TestRepository 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# laravel  # artisan  # make  # 自定义命令  # artisan自定义命令  # laravel+vue组合的项目中引入ueditor方式(打包成组件形式)  # 在laravel中使用Symfony的Crawler组件分析HTML  # Laravel框架中扩展函数、扩展自定义类的方法  # PHP框架Laravel插件Pagination实现自定义分页  # Laravel中重写资源路由自定义URL的实现方法  # Laravel Validator自定义错误返回提示消息并在前端展示  # Laravel认证原理以及完全自定义认证详解  # 关于Laravel-admin的基础用法总结和自定义model详解  # Laravel5.5以下版本中如何自定义日志行为详解  # laravel框架学习笔记之组件化开发实现方法  # 自己的  # 的是  # 就会  # 好了  # 放在  # 相关内容  # 说了  # 不多  # 自定义  # 这篇文章  # 谢谢大家  # 装了  # 长了  # 就可以  # 而不是  # 系统自带  # 目录下  # 有疑问  # routes  # event 


相关文章: 建站之星下载版如何获取与安装?  如何快速启动建站代理加盟业务?  专业商城网站制作公司有哪些,pi商城官网是哪个?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站与域名管理如何高效结合?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何设置并定期更换建站之星安全管理员密码?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  如何在建站之星绑定自定义域名?  如何批量查询域名的建站时间记录?  Swift中switch语句区间和元组模式匹配  建站之星Pro快速搭建教程:模板选择与功能配置指南  建站VPS能否同时实现高效与安全翻墙?  如何快速使用云服务器搭建个人网站?  广东企业建站网站优化与SEO营销核心策略指南  为什么Go需要go mod文件_Go go mod文件作用说明  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  定制建站方案优化指南:企业官网开发与建站费用解析  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站三合一如何选?哪家性价比更高?  ,柠檬视频怎样兑换vip?  建站主机系统SEO优化与智能配置核心关键词操作指南  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  宝塔新建站点为何无法访问?如何排查?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何彻底卸载建站之星软件?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何在万网开始建站?分步指南解析  建站主机核心功能解析:服务器选择与网站搭建流程指南  建站之星安装路径如何正确选择及配置?  如何在建站主机中优化服务器配置?  网站微信制作软件,如何制作微信链接?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何通过虚拟主机快速搭建个人网站?  如何在万网主机上快速搭建网站?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  如何在阿里云域名上完成建站全流程?  如何通过服务器快速搭建网站?完整步骤解析  如何用腾讯建站主机快速创建免费网站?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  制作网站外包平台,自动化接单网站有哪些?  如何用美橙互联一键搭建多站合一网站?  如何通过cPanel快速搭建网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  学校为何禁止电信移动建设网站?  在线制作视频网站免费,都有哪些好的动漫网站?  宁波免费建站如何选择可靠模板与平台? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。