php laravel框架自带命令的实现

在PHP的框架学习中,我们已经对laravel的安装和配置有所掌握,那么除此之外,在该框架中有一种自带命令,不知道小伙伴们有没有在使用的时候留意过呢?之前没有接触过artisan的也不要着急,本篇就laravel框架自带命令会带来使用的步骤介绍,一起来看看接下来的命令实现吧。

1、作为服务提供者,加载到程序中。

//config/app.php中。
'providers'=>[
//这个便是laravel自带的artisan命令提供者
Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
]

2、然后找到 Up/Down命令入口

/**
*Registerthecommand.
*
*@returnvoid
*/
protectedfunctionregisterUpCommand()
{
$this->app->singleton('command.up',function(){
returnnewUpCommand;
});
}

3、DownCommand实现

classDownCommandextendsCommand
{
/**
*Theconsolecommandname.
*
*@varstring
*/
protected$name='down';

/**
*Theconsolecommanddescription.
*
*@varstring
*/
protected$description='Puttheapplicationintomaintenancemode';

/**
*Executetheconsolecommand.
*
*@returnvoid
*/
publicfunctionfire()
{
//关键点:在当前存储目录/framework下面创建一个down文件
touch($this->laravel->storagePath().'/framework/down');

$this->comment('Applicationisnowinmaintenancemode.');
}
}


//touch()函数php文档解释
/**
*Setsaccessandmodificationtimeoffile
*@linkhttp://php.net/manual/en/function.touch.php
*@paramstring$filename<p>
*Thenameofthefilebeingtouched.
*</p>
*@paramint$time[optional]<p>
*Thetouchtime.Iftimeisnotsupplied,
*thecurrentsystemtimeisused.
*</p>
*@paramint$atime[optional]<p>
*Ifpresent,theaccesstimeofthegivenfilenameissetto
*thevalueofatime.Otherwise,itissetto
*time.
*</p>
*@returnbooltrueonsuccessorfalseonfailure.
*@since4.0
*@since5.0
*/
functiontouch($filename,$time=null,$atime=null){}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容