task中使用类静态方法,该方法中无法使用静态属性

截取类的一点片段,该类的mstime就是静态属性 class SendResultTask {

private static $mstime = 1000;

public static function execute(\swoole_server $serv, $data) {
    $roomNo = $data['room_no'];

    $serv->tick(self::mstime, function($tickId) use ($serv, $roomNo){
        //查询几乎所有的分值
        $result = PaomaRoomScore::listScores($roomNo,0,1000);
        //计算最低分,最高分,总体排名
        $values = array_values($result);
        $max = empty($values) ? 1 : max($values);
        $min = empty($values) ? 0 : min($values);
        $ranks = empty($result)?[]:array_flip(array_keys($result));

但在运行时报错: PHP Fatal Error 'yii\base\ErrorException' with message 'Uncaught Error: Undefined class constant 'mstime' in /Users/zhangjiao/eclipse-workspace/wei_ec/console/modules/paoma/tasks/SendResultTask.php:19

目前我将该属性换成类常量,但不明白为什么不可以使用静态属性

2018-04-02 10:12
0
2

Dean

赞同来自: 阿讷 逍遥懒人

self::mstime,应该是 self::$mstime 吧

2018-04-03 20:31

要回复问题请先登录注册