欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php Yii2框架創(chuàng)建定時任務方法詳解

 更新時間:2022年09月02日 14:34:05   作者:PeakXin  
Yii2是一個基于組件、用于開發(fā)大型Web應用的高性能PHP框架,采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程,該框架提供了Web 2.0應用開發(fā)所需要的幾乎一切功能,是最有效率的PHP框架之一

在我們項目開發(fā)中,需要使用定時任務來完成批處理業(yè)務,下面通過Yii2框架來實現(xiàn)定時任務

Yii2框架定時任務代碼統(tǒng)一放在 ./console 目錄下

簡單的定時任務腳步文件

首先在console/controller目錄下創(chuàng)建一個定時任務控制器TestController.php

<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
    /**
     * 執(zhí)行測試腳本
     */
    public function actionDo()
    {
        echo 'hello test console';
    }
}

在控制臺運行命令php yii,會看到test控制下的do方法

······
- test
    test/do                        執(zhí)行測試腳本

執(zhí)行腳步命令php yii 控制器名/方法名,會輸出

php yii test/do
hello test console

這就完成了一個簡單的定時任務腳步控制器

傳遞參數(shù)

如果需要傳遞參數(shù)

<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
    /**
     * @var integer 接收的參數(shù)
     */
    public $param1;
    /**
     * @var string 接收的參數(shù)
     */
    public $param2;
    /**
     * 設置參數(shù)
     * @param string $actionID
     * @return string[]
     */
    public function options($actionID)
    {
        return [
            'param1',
            'param2',
        ];
    }
    /**
     * 執(zhí)行測試腳本
     */
    public function actionDo()
    {
        echo $this->param1 . PHP_EOL;
        echo $this->param2 . PHP_EOL;
    }
}

其中 param1param2就是參數(shù),執(zhí)行腳步命令php yii 控制器名/方法名 --參數(shù)= ····

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

設置參數(shù)別名

如果需要給參數(shù)設置別名

<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
    /**
     * @var integer 接收的參數(shù)
     */
    public $param1;
    /**
     * @var string 接收的參數(shù)
     */
    public $param2;
    /**
     * 設置參數(shù)
     * @param string $actionID
     * @return string[]
     */
    public function options($actionID)
    {
        return [
            'param1',
            'param2',
        ];
    }
    /**
     * 參數(shù)設置別名
     * @return array
     */
    public function optionAliases()
    {
        return [
            'p1' => 'param1',
            'p2' => 'param2'
        ];
    }
    /**
     * 執(zhí)行測試腳本
     */
    public function actionDo()
    {
        echo $this->param1 . PHP_EOL;
        echo $this->param2 . PHP_EOL;
    }
}

其中 p1p2就是參數(shù)的別名,執(zhí)行腳步命令php yii 控制器名/方法名 --參數(shù)= ····

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

注意:設置參數(shù)別名后,使用別名參數(shù)用一個橫桿(-)鏈接。

在Linux配置crontab

執(zhí)行命令crontab -e,我們以每分鐘執(zhí)行一次為例

*/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 是執(zhí)行腳步命令
  • >/dev/null 2>&1 這么寫就行哈,可自行查找

保存退出即可。

到此這篇關于php Yii2框架創(chuàng)建定時任務方法詳解的文章就介紹到這了,更多相關php Yii2框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論