首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 Laravel 中编写高级的 Artisan 命令

我们完全可以将命令行看作与 Web 应用同等的控制台应用(实际上,Laravel 底层也是这么做的),它具备自己的路由、Kernel、输入、控制器(命令类)、输出。...输入描述 还记得我们上一篇教程提到的 artisan help 命令吧,我们使用该命令时会提示我们指定命令所有参数和选项的描述信息: 这是怎么做到的呢?...,Artisan 还支持通过其它方式获取用户输入,比如用户在执行命令期间通过键盘输入参数信息。...Laravel Artisan 提供了很多方法支持用户输入不同类型的数据。...文本信息 首先来看文本信息的输出。我们在前面已经多次见到过了 $this->info() 方法,一般我们会在命令执行成功后通过该方法以绿色文本输出提示信息。

8.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    创建并运行一个新的 Laravel 项目

    注:本系列教程基于 Laravel 5.7+ 1、创建一个新的 Laravel 项目 正如官方文档所言,有两种方式可以创建一个新的 Laravel 项目,这两种创建方式都是从命令行执行的:第一种是通过全局的...使用 Laravel 安装器安装 安装 Laravel 安装器很简单,在命令行执行以下命令即可(如果已经安装过,会自动进行更新): composer global require laravel/installer...artisan:允许你在项目根目录下通过 php artisan 执行 Artisan 命令 .gitignore 和 .gitattributes:Git 配置文件 composer.json 和 composer.lock...这些配置文件都会返回一个数组,数组中的每个值都可以通过配置键获取(配置键以配置文件名为前缀,以「.」号分隔数组层级),例如,如果你在 config/services.php 中定义了如下配置: // config...-allow-unrelated-histories git push 这样,就可以在 Github 上看到刚刚提交的代码了: ?

    6.9K30

    Laravel Artisan 常见命令详解

    Artisan 是 Laravel 自带的命令行接口(CLI),它基于 Symfony Console 组件构建,允许开发者使用简单的命令执行复杂的任务。...在 Laravel 项目中,artisan 脚本位于根目录下,你可以通过运行以下命令查看所有可用的 Artisan 命令:php artisan list运行该命令后,你会看到一组分门别类的命令列表,每个命令都附带简短的描述...以下是 Artisan 的基本工作流程:解析输入命令:接收用户在终端输入的命令和参数。匹配注册命令:根据用户输入的命令名称,匹配对应的命令类。执行命令逻辑:调用匹配命令类中的逻辑,完成对应的功能。...每个 Artisan 命令本质上是一个类,它继承自 Illuminate\Console\Command。通过重写其 handle 方法,可以实现自定义的命令逻辑。常见的 Artisan 命令1....\Commands\MyCustomCommand::class,];执行自定义命令在终端运行:php artisan command:name小结Laravel 的 Artisan 工具为开发者提供了强大的功能

    10700

    Laravel 控制台命令行artisan

    laravel 控制台命令行artisan Artisan 是 Laravel自带的命令行接口,它提供了许多实用的命令来帮助你构建Laravel 应用。...要查看所有可用的 Artisan 命令的列表,可以使用 list 命令: php artisan list 每个命令包含了「帮助」界面,它会显示并概述命令的可用参数及选项。...只需要在命令前面加上 help 即可查看命令帮助界面: php artisan help migrate 编写命令# 除 Artisan 提供的命令之外,还可以构建自己的自定义命令。...命令默认存储在app/Console/Commands 目录,你也可以修改 composer.json 文件来指定你想要存放的目录。...执行命令时会调用 handle 方法,你可以在这个方法中放置命令逻辑。 修改生成的文件 如下: <?

    1.3K10

    laravel5.4+vue+element简单搭建(gulp+laravel Elixir)(转)

    如今laravel来到5.4版本,更方便引入vue了,具体步骤如下: 1.下载laravel5.4 2.命令行(laravel5.4目录下):composer install 3.新建.env文件,把....env.example里的内容复制到.env文件中 4.生成key,命令行:PHP artisan key:generate 5.配置文件package.json,内容如下: { "private"...') }); 11.命令行(没有gulp,自行下载):gulp watch 关于laravel中使用gulp Elixir编辑前端资源也可以参考:https://onlyke.com/html/665....docs.golaravel.com/docs/5.0/elixir/ 本文章转载自http://blog.csdn.net/sangjinchao/article/details/60596614 在laravel5.4...中有一个更简单的方法,是使用Mix,配置详情请参照 http://laravelacademy.org/post/6798.html

    1.6K30

    Laravel-任务调度

    Laravel 命令调度器允许你流式而又不失优雅地在 Laravel 中定义命令调度,并且服务器上只需要一个 Cron 条目即可。...当 schedule:run 命令执行后,Laravel 评估你的调度任务并运行到期的任务。...Laravel 命令调度器允许你平滑而又富有表现力地在 Laravel 中定义命令调度, 并且服务器上只需要一个 Cron 条目即可, 任务调度又是我们俗称的 “计划任务” 任务调度定义在 app/Console...你可以自由地添加你需要的调度任务到Schedule 对象 开启调度 // 在 linux 环境中执行 * * * * * root php /var/www/laravel/artisan schedule...定义调度 在 项目根目录 下创建定时任务所需要进行的操作 创建命令 php artisan make:console Stat_Test 该操作会在 app/Console/Commands 下生成一个

    1.9K30

    Laravel中运行Gulp任务的利器(一) —— Laravel Elixir简介及入门教程

    在本节中,我们会展示如何创建并执行与Laravel应用紧密结合的Elixir任务,但在这之前,可能很多人还不太了解什么是Gulp,所以我们将从这里开始,逐一为你解开Elixir的面纱。...Gulp 是一个功能强大的、开源的自动化构建工具,你可以用它来自动构建所有上述的任务甚至更多。...你可以通过在项目根目录下运行 gulp 命令来执行定义在 elixir 方法中的任务: $ gulp [13:16:18] Using gulpfile ~/Software/dev.todoparrot.com...Elixir] [13:16:20] Finished 'less' after 1.52 s 通过执行 gulp 命令,我们已经成功将 app.less 编译为 app.css 并保存到 public...) { mix.less('app.less'); mix.coffee();}); 此外,你还可以直接使用方法链到命令上: elixir(function(mix) { mix.less

    2K91

    深入理解Laravel定时任务调度机制

    :run >> /dev/null 2>&1 即php artisan schedule:run每分钟跑一次(crontab的最高频率),至于业务上的具体任务配置,则注册于Kernel::schedule...command命令:php artisan test:hello ->cron('10 11 1 * *') // 每月1日的11:10:00执行该命令 ->timezone('Asia...我们知道在linux系统下,命令行的指令最后加个“&”符号,可以使任务在后台执行。runInBackground方法内部原理其实就是让最后跑的指令后面加了“&”符号。...该命令被附在了本来要执行的command命令后面,用来检测并执行后置钩子函数。...run() { // 判断是否需要防止重复,若需要防重复,并且创建锁不成功,则说明已经有任务在跑了,这时直接退出,不再执行具体任务 if ($this->withoutOverlapping

    10.7K162

    在 Laravel 中编写第一个 Artisan 命令

    ,在 Laravel 中,我们可以通过三种工具实现命令行交互: Artisan:Laravel 内置的命令行操作工具集,支持自定义命令; Tinker:一个由 PsySH 扩展包驱动的 REPL,允许你通过命令行与整个...在 artisan 文件中,处理流程会像 Web 请求一样,注册类的自动加载器,初始化容器和异常处理器,获取用户输入,执行处理逻辑,最后发送响应,只不过这一切都是在控制台中完成。...我们在执行 php artisan 命令时,artisan 就指的是根目录下的 artisan 文件,所以命令需要在应用根目录下执行,然后 artisan 之后的部门都是作为请求参数被控制台应用获取并处理...不同的 Laravel 应用由于安装了不同的扩展包或编写了自定义的 Artisan 命令,所以在当你准备了解一个新应用时,有必要通过 php artisan list 快速浏览该应用支持的所有命令。...内置 Artisan 命令 运行 php artisan list 命令后,你会看到新安装的 Laravel 应用默认提供了很多 Artisan 命令,我们不可能把每一个都讲一遍下来(实际上,我们会在每篇教程中分散提到

    3.1K20

    laravel-s 在 Docker 中使用(包含队列的使用)

    php.ini开启扩展, 之后php -m看到swoole-tracker就代表安装成功了 然后按着官方使用, 先增加trackerHookMalloc函数, 然后打开另一个命令行执行php -r "trackerAnalyzeLeak...即可 构建队列镜像 docker build ....-it laravel-worker-service /bin/sh 重启队列: php /var/www/artisan queue:restart 重启队列逻辑 队列开始执行时, 队列获取当前缓存的时间戳...t1 执行好上面的重启任务之后laravel会把时间戳t2写入缓存 每一个队列任务执行完成之后,从缓存中拿出时间戳,如果t2不等于t1停止当前进程 由于supervisord设置了autostart,...-v映射本地目录 更新代码的时候是更新宿主机代码, 然后映射到容器中, 容器再按照上面的命令重启队列, 即可加载最新代码 更新代码方法3 构建好新的容器镜像进行 停止旧的容器队列进程 ## 执行此命令后后查看队列进程无任务输出

    28910

    为什么 Laravel 这么优秀?

    Artisan 是一个 SHELL 脚本,是通过命令行操作 Laravel 的唯一入口。...如你可以通过: php artisan serv 启动本地开发环境 php artisan tinker Local Playground php artisan migrate 执行数据库迁移等 和其他框架类似...Make Model # 我们的第一步是根据 Laravel 提供的 Artisan 命令生成对应的 Model;在实际的开发中我们通常会提供额外的参数以便生成模型的时候一起生成额外的模版文件,如数据库迁移文件...Pest 以及在屎一样的 API 之上构建出来的最好用的微信 SDK EasyWechat。...Symfony 完全是另一个可以和 Laravel 媲美的框架,甚至在很多设计上比 Laravel 还要超前;并且 Laravel 的核心组件如路由/Request/Container 都是构建在 Symfony

    26610

    Redis 分布式锁在 Laravel 任务调度底层实现中的应用

    /app/artisan schedule:run >> /dev/null 2>&1 该任务每分钟调度一次,执行的是上述定义调度任务的 Laravel 项目提供的 Artisan 命令 schedule...可以看到,Laravel 底层其实还是通过类似 Cron 条目的 Shell 命令去执行调度任务的,只不过通过 Event 对象对其进行了封装。...调度任务是如何执行的 以上调度任务的注册是在控制台应用启动时完成的,当我们运行 Artisan 命令就会启动控制台应用,比如 schedule:run,并且会注册所有的调度任务到 Schedule 对象的...我们回到 Schedule 的 dueEvents 方法继续往下看,当获取到所有有效的调度任务集合后,接下来,会基于高阶消息传递调用每个调度任务对象(Event)上的 isDue 方法: public...可以看到,在 Laravel 底层,其实是通过面向对象的 PHP 代码对 Cron 条目 Shell 命令进行了封装,以便通过更加灵活的方式来管理和维护调度任务的运行。

    6.2K21
    领券