lumen php命令,lumen控制器调用artisan
文档中给的调用artisan方式是
直接在路由里调用
`Route::get('/foo', function () {
$exitCode = Artisan::call('email:send', [
'user' => 1, '--queue' => 'default'
]);
//
});`
这种方式,实际上在lumen里没Artisan。现在安装了一个数据库备份插件,
https://github.com/backup-manager
这个插件可以实现php artisan db:backup
想在controller里面调用备份相应的命令。求指点。
回复内容:
文档中给的调用artisan方式是
直接在路由里调用
`Route::get('/foo', function () {
$exitCode = Artisan::call('email:send', [
'user' => 1, '--queue' => 'default'
]);
//
});`
这种方式,实际上在lumen里没Artisan。现在安装了一个数据库备份插件,
https://github.com/backup-manager
这个插件可以实现php artisan db:backup
想在controller里面调用备份相应的命令。求指点。
自问自答,初学者走的坑,高手不要拍砖。
想要在lumen里调用artisan 就需要找到相应的Facades,而lumen中没有给artisan起别名,进行注册。
所以我们正常是使用不了的。如下laravel/lumen-framework/src/appliation.php
public function withFacades()
{
Facade::setFacadeApplication($this);
if (! static::$aliasesRegistered) {
static::$aliasesRegistered = true;
class_alias('Illuminate\Support\Facades\Auth', 'Auth');
class_alias('Illuminate\Support\Facades\Cache', 'Cache');
class_alias('Illuminate\Support\Facades\DB', 'DB');
class_alias('Illuminate\Support\Facades\Event', 'Event');
class_alias('Illuminate\Support\Facades\Gate', 'Gate');
class_alias('Illuminate\Support\Facades\Log', 'Log');
class_alias('Illuminate\Support\Facades\Queue', 'Queue');
class_alias('Illuminate\Support\Facades\Schema', 'Schema');
class_alias('Illuminate\Support\Facades\Validator', 'alidator');
}
}
这里我们找到Illuminate\Support\Facades这个文件夹,里面是有Artisan.php的把这个像其他一样起别名后
无须use任何东西,Artisan类就可用了。当然,我们不能动框架。所以在你想用artisan命令的地方加头
use Illuminate\Support\Facades\Artisan;
就可以在lumen中调用Artisan->call()方法,在控制器中运行php artisan任意命令了。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
lumen php命令,lumen控制器调用artisan相关推荐
- lumen php命令,lumen添加artisan 命令方法
laravel的artisan命令可以非常方便的为我们创建我们需要的脚手架,而在lumen中,这个功能是被删除掉的,如何把这个功能加上,我们需要下面的几个步骤. 安装composer 依赖Lumen ...
- lumen php命令,Lumen创建自定义make命令
1:检查框架自带 artisan 支持的make命令 php artisan list 系统自带的 artisan make 命令对应的PHP程序放在 Illuminate\Foundation\Co ...
- php lumen auth,学习 Lumen 用户认证 (一)
好久没写 PHP 代码了,尤其是 Lumen,我是 Lumen 的忠实用户,自从面世开始,我就将 Lumen 作为我 API 的主要框架使用. 但说到 API,不得不说的一个概念:「前后端分离」,现在 ...
- php 实现 model层,Thinkhphp5控制器调用的Model层的方法总结
控制器器里: /** * Created by PhpStorm. * User: Haima * Date: 2018/7/8 * Time: 15:58 */ namespace app\api\ ...
- python调用php命令行,python调用php函数 python怎样调用php文件中的函数详解
前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...
- ThinkPHP跨控制器调用方法
跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController(); 用绝对路径找 echo $sc->ShuChu(); ...
- BeetleX实现MessagePack和Protobuf消息控制器调用websocket服务详解
最近有用户问如何使用BeetleX封装一个基于Protobuf格式的websocket服务并支持控制器调用:其实BeetleX.FastHttpApi是支持Websocket服务和自定义数据格式的,但 ...
- linux proc文件 write的原子性,Linux命令之write调用的原子性
linux命令是对Linux系统进行管理的命令.本文介绍的关于linux命令中write调用的原子性的详细描述,具体内容如下所述. UNIX环境高级编程中关于原子操作的介绍,其中有一种情形是在文件尾端 ...
- 命令行,使用java的java 命令,直接调用执行class文件
目录 0.最基本使用,参照下面链接(以前整理的资料) 1.直接调用java文件■cmd 2.调用jar包(Main Class打包到 jar包时) 3.补充说明 4.运行时,设置系统变量 5.查看类运 ...
最新文章
- opencv计算机视觉学习笔记七
- 百度AI加速器三期结业成员企业估值翻2倍 四期启动
- C/C++获取本地IP(适用于多种操作系统)
- Java中的时间和日期(下)
- 201521123050 《Java程序设计》第8周学习总结
- ubuntu下mysql语句_Ubuntu安装mysql及常用SQL操作语句
- 重要开源!CNN-RNN-CTC 实现手写汉字识别
- java金额格式化 .00_Java中金额的格式化###,###.00
- PHP发微信消息必须开网吗,关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题...
- 一文看雷击浪涌的防护解析
- java emun ordinal_关于Java:JPA枚举ORDINAL与STRING
- 实时交通仿真平台概要
- 计算机毕业设计之疫情防疫信息化管理系统
- Linux中的bin文件夹
- 中国云计算的十年江湖
- Unity地图分割组合时出现接缝的处理办法
- 安卓android_rom定制,移植,安卓Android_ROM定制、移植:第一~~八篇(全)
- A Survey for Image Quality Assessment(综述)
- 继续啃书,包,触发器
- rk3288 linux 编译,注意了!VS-RK3288Ubuntu编译环境错误小结
热门文章
- 苹果手机浏览器 不支持line-height属性的解决方法
- 机器学习基石 5.3 Effective Number of Hypotheses
- App上线相关法律常识
- python怎么写excel数据透视自动报表_使用Python生成自动报表(E
- Python在线办公系统毕业设计源码071116
- 单片机c语言idata什么意思,单片机C语言中的data,idata,xdata,pdata,code
- 【软件教程】如何将夸克网盘挂载为本地磁盘【Docker+AList+RaiDrive】
- 怎么删除html下面多余的空白页,word怎么删除空白页面(word删掉多余空白页方法)...
- 大数据入门9:半结构化数据模型(Semi-structured Data Model)
- ICLR 2021 NAS 相关论文(包含Workshop)