yii2 命令行执行php命令 commands(命令)

YII2可以在命令行执行php命令,首先明白YII2自带的command示列 \app\commands\HelloController

复制代码
复制代码
class HelloController extends Controller
{
    /**
     * This command echoes what you have entered as the message.
     * @param string $message the message to be echoed.
     * @return int Exit code
     */
    public function actionIndex($message = 'hello world')
    {
        echo $message . "\n";

        return ExitCode::OK;
    }
}
复制代码

 

首先CD到工程的根目录,目录下有一个 yii文件,我们执行yii hello/index控制台打印了hello world

因此我们可以知道 命令格式如下 yii 控制器名称/动作名称

actionIndex($message = 'hello world')有一个参数,并且有一个默认值,很多时候我们也需要这样的操作。

所有我们执行yii hello/index helloYii 将会打印出 helloYii。

因此我们可以得知 命令格式如下 yii 控制器名称/动作名称 参数1 参数2...

而action方法中 actionName($parameter1,$parameter...)

如果需要操作数据库则需要在config/console.php配置db因为web上的配置和command是不同的。

YII2有了这个后我们可以实现 快速插入测试数据,快速执行一些不明白的函数,快速的对自己写的代码进行测试,如果需要配置定时任务给服务器运行也是可以的。

如果是Linux系统的话得 给yii文件执行权限 并且命令格式如下./yii 控制器名称/动作名称

很多人也喜欢写到一个web的action,然后用来请求,但是web的action是执行完毕才能看见结果而command里面是可以实时echo出结果的,所有一些小动作都可以写一个command,比如说请求一个api一万次,并且每次都显示出结果来。这样有了command就能很方便的满足上面的需求了

posted @   牛奔  阅读(4391)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示