swoole / swoole-src

🚀 Coroutine-based concurrency library for PHP
https://www.swoole.com
Apache License 2.0
18.42k stars 3.16k forks source link

4.0.1 __get 魔术方法设置无效 #1747

Closed withloveandjoy closed 6 years ago

withloveandjoy commented 6 years ago

4.0 实现了 php 的所有方法,但是测试 __get 未支持。

public function __get($name)
{
    var_dump('a:'.$name);
    if ($name === 'query') {
        return new \yii\db\Query();
    }

    return null;
}

Yii2 框架中使用魔术方法获取数据库 query 对象,但是代码中 var_dump 不会有输出。

Ubuntu 18.04 Desktop / PHP 7.1.18 / Yii 2.0.15 / Swoole 4.0.1

twose commented 6 years ago

应该和swoole是没有关系的, 你自己看下是不是类中已经有pulic的query属性了, 存在的属性是不会触发魔术方法的.

withloveandjoy commented 6 years ago

的确是误操作已经定义了 query。