亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

簡(jiǎn)單的定時(shí)任務(wù)腳步文件

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

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

在控制臺(tái)運(yùn)行命令php yii,會(huì)看到test控制下的do方法

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

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

php yii test/do
hello test console

這就完成了一個(gè)簡(jiǎn)單的定時(shí)任務(wù)腳步控制器

傳遞參數(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è)置參數(shù)
     * @param string $actionID
     * @return string[]
     */
    public function options($actionID)
    {
        return [
            'param1',
            'param2',
        ];
    }
    /**
     * 執(zhí)行測(cè)試腳本
     */
    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ù)別名

如果需要給參數(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è)置參數(shù)
     * @param string $actionID
     * @return string[]
     */
    public function options($actionID)
    {
        return [
            'param1',
            'param2',
        ];
    }
    /**
     * 參數(shù)設(shè)置別名
     * @return array
     */
    public function optionAliases()
    {
        return [
            'p1' => 'param1',
            'p2' => 'param2'
        ];
    }
    /**
     * 執(zhí)行測(cè)試腳本
     */
    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ù)別名后,使用別名參數(shù)用一個(gè)橫桿(-)鏈接。

在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運(yùn)行文件
  • /var/www/html/yii2-project/yii 項(xiàng)目目錄中的yii 文件
  • test/do 是執(zhí)行腳步命令
  • >/dev/null 2>&1 這么寫就行哈,可自行查找

保存退出即可。

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

相關(guān)文章

  • 利用PHP內(nèi)置SERVER開啟web服務(wù)(本地開發(fā)使用)

    利用PHP內(nèi)置SERVER開啟web服務(wù)(本地開發(fā)使用)

    PHP 5.4.0起, CLI SAPI 提供了一個(gè)內(nèi)置的Web服務(wù)器,這個(gè)內(nèi)置的Web服務(wù)器主要用于本地開發(fā)使用,不可用于線上產(chǎn)品環(huán)境,URI請(qǐng)求會(huì)被發(fā)送到PHP所在的的工作目錄Working Directory進(jìn)行處理,除非你使用了-t參數(shù)來自定義不同的目錄
    2020-01-01
  • php關(guān)聯(lián)數(shù)組快速排序的方法

    php關(guān)聯(lián)數(shù)組快速排序的方法

    這篇文章主要介紹了php關(guān)聯(lián)數(shù)組快速排序的方法,涉及php數(shù)組排序的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • PHP操作Mongodb封裝類完整實(shí)例

    PHP操作Mongodb封裝類完整實(shí)例

    這篇文章主要介紹了PHP操作Mongodb封裝類,結(jié)合完整實(shí)例形式分析了php封裝的針對(duì)MongoDB數(shù)據(jù)庫常見的基本配置、連接、增刪改查、集合等操作定義與使用方法,需要的朋友可以參考下
    2018-06-06
  • phpmailer在服務(wù)器上不能正常發(fā)送郵件的解決辦法

    phpmailer在服務(wù)器上不能正常發(fā)送郵件的解決辦法

    這篇文章主要介紹了phpmailer在服務(wù)器上不能正常發(fā)送郵件的解決辦法,本文的原因是服務(wù)器的安全設(shè)置造成,服務(wù)器中屏蔽fsockopen函數(shù)的使用權(quán)限,所以導(dǎo)致發(fā)送失敗,需要的朋友可以參考下
    2014-07-07
  • php通過Chianz.com獲取IP地址與地區(qū)的方法

    php通過Chianz.com獲取IP地址與地區(qū)的方法

    這篇文章主要介紹了php通過Chianz.com獲取IP地址與地區(qū)的方法,是解析IP地址與地區(qū)非常實(shí)用的技巧,需要的朋友可以參考下
    2015-01-01
  • php class中public,private,protected的區(qū)別以及實(shí)例分析

    php class中public,private,protected的區(qū)別以及實(shí)例分析

    本篇文章是對(duì)php class中public,private,protected的區(qū)別以及實(shí)例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP下ajax跨域的解決方案之window.name實(shí)例分析

    PHP下ajax跨域的解決方案之window.name實(shí)例分析

    這篇文章主要介紹了PHP下ajax跨域的解決方案之window.name,結(jié)合實(shí)例形式分析PHP ajax跨域的解決方案window.name基本原理、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • PHP實(shí)現(xiàn)的文件上傳類與用法詳解

    PHP實(shí)現(xiàn)的文件上傳類與用法詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)的文件上傳類與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了PHP文件上傳類的定義與具體使用方法,需要的朋友可以參考下
    2017-07-07
  • 封裝一個(gè)PHP可控限速下載文件的方法

    封裝一個(gè)PHP可控限速下載文件的方法

    這篇文章給大家介紹了封裝一個(gè)PHP可控限速下載文件的方法,文章通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • 深入extjs與php參數(shù)交互的詳解

    深入extjs與php參數(shù)交互的詳解

    本篇文章是對(duì)extjs與php的參數(shù)交互進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論