服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php Yii2框架创建定时任务方法详解

php Yii2框架创建定时任务方法详解

2022-11-16 16:39PeakXin PHP教程

Yii2是一个基于组件、用于开发大型Web应用的高性能PHP框架,采用严格的OOP编写,并有着完善的库引用以及全面的教程,该框架提供了Web 2.0应用开发所需要的几乎一切功能,是最有效率的PHP框架之一

在我们项目开发中,需要使用定时任务来完成批处理业务,下面通过Yii2框架来实现定时任务

Yii2框架定时任务代码统一放在 ./console 目录下

简单的定时任务脚步文件

首先在console/controller目录下创建一个定时任务控制器TestController.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
    /**
     * 执行测试脚本
     */
    public function actionDo()
    {
        echo 'hello test console';
    }
}

在控制台运行命令php yii,会看到test控制下的do方法

······
- test
    test/do                        执行测试脚本

执行脚步命令php yii 控制器名/方法名,会输出

php yii test/do
hello test console

这就完成了一个简单的定时任务脚步控制器

传递参数

如果需要传递参数

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
    /**
     * @var integer 接收的参数
     */
    public $param1;
    /**
     * @var string 接收的参数
     */
    public $param2;
    /**
     * 设置参数
     * @param string $actionID
     * @return string[]
     */
    public function options($actionID)
    {
        return [
            'param1',
            'param2',
        ];
    }
    /**
     * 执行测试脚本
     */
    public function actionDo()
    {
        echo $this->param1 . PHP_EOL;
        echo $this->param2 . PHP_EOL;
    }
}

其中 param1param2就是参数,执行脚步命令php yii 控制器名/方法名 --参数= ····

php yii test/do --param1=123 --param2=hello
123
hello

设置参数别名

如果需要给参数设置别名

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
    /**
     * @var integer 接收的参数
     */
    public $param1;
    /**
     * @var string 接收的参数
     */
    public $param2;
    /**
     * 设置参数
     * @param string $actionID
     * @return string[]
     */
    public function options($actionID)
    {
        return [
            'param1',
            'param2',
        ];
    }
    /**
     * 参数设置别名
     * @return array
     */
    public function optionAliases()
    {
        return [
            'p1' => 'param1',
            'p2' => 'param2'
        ];
    }
    /**
     * 执行测试脚本
     */
    public function actionDo()
    {
        echo $this->param1 . PHP_EOL;
        echo $this->param2 . PHP_EOL;
    }
}

其中 p1p2就是参数的别名,执行脚步命令php yii 控制器名/方法名 --参数= ····

php yii test/do -p1=123 -p2=hello
123
hello

注意:设置参数别名后,使用别名参数用一个横杆(-)链接。

在Linux配置crontab

执行命令crontab -e,我们以每分钟执行一次为例

*/1 * * * * /usr/bin/php /var/www/html/yii2-project/yii test/do >/dev/null 2>&1

其中

  • /usr/bin/php 是php运行文件
  • /var/www/html/yii2-project/yii 项目目录中的yii 文件
  • test/do 是执行脚步命令
  • >/dev/null 2>&1 这么写就行哈,可自行查找

保存退出即可。

到此这篇关于php Yii2框架创建定时任务方法详解的文章就介绍到这了,更多相关php Yii2框架内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/xinyflove/article/details/126605340

延伸 · 阅读

精彩推荐
  • PHP教程php利用事务处理转账问题

    php利用事务处理转账问题

    这篇文章主要介绍了php利用事务处理转账问题的方法,实例分析了php处理事务的提交与回滚的技巧,需要的朋友可以参考下...

    PHP教程网5582020-09-21
  • PHP教程php中smarty实现多模版网站的方法

    php中smarty实现多模版网站的方法

    这篇文章主要介绍了php中smarty实现多模版网站的方法,可实现smarty动态选择模板的功能,需要的朋友可以参考下...

    PHP中文网2212020-09-28
  • PHP教程Thinkphp中Create方法深入探究

    Thinkphp中Create方法深入探究

    由于工作原因在thinkPHP的create()方法上遇到了问题,所以跟踪了create(),从而进一步探究了create()方法。 原来create()方法原来有两个参数,本文就此作简要说明...

    PHP技术网2052020-07-06
  • PHP教程PHP实现的网站目录扫描索引工具

    PHP实现的网站目录扫描索引工具

    本文给大家分享的是一个基于PHP实现的网站目录扫描索引工具的源码,非常的简单实用,有需要的小伙伴可以参考下 ...

    PHP教程网6932021-02-27
  • PHP教程php简单smarty入门程序实例

    php简单smarty入门程序实例

    这篇文章主要介绍了php简单smarty入门程序,实例分析了smarty模板的配置与使用技巧,需要的朋友可以参考下...

    zhuzhao2942020-09-28
  • PHP教程yii框架数据库关联查询操作示例

    yii框架数据库关联查询操作示例

    这篇文章主要介绍了yii框架数据库关联查询操作,结合实例形式总结分析了yii数据库关联查询的常见操作方法与使用注意事项,需要的朋友可以参考下...

    学知无涯8502021-09-02
  • PHP教程Symfony2创建基于域名的路由相关示例

    Symfony2创建基于域名的路由相关示例

    这篇文章主要介绍了Symfony2创建基于域名的路由,结合实例形式分析了Symfony2路由的创建技巧,需要的朋友可以参考下...

    陈达辉5572021-03-25
  • PHP教程Yii把CGridView文本框换成下拉框的方法

    Yii把CGridView文本框换成下拉框的方法

    这篇文章主要介绍了Yii把CGridView文本框换成下拉框的方法,可修改默认的CGridView文本框功能,进而改善用户体验,是非常实用的技巧,需要的朋友可以参考下...

    PHP教程网2492020-08-20