- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有代码 - 工作正常(我不必包含 ReflectionClass 类):
class Test
{
const TYPE_ONE = "Number one";
const TYPE_TWO = "Number two";
static function getConstants() {
$oClass = new ReflectionClass(__CLASS__);
return $oClass->getConstants();
}
}
foreach (Test::getConstants() as $kay => $val):
echo "$kay -- $val <br/>";
endforeach;
但是,当我尝试在 Yii2 代码中使用 ReflectionClass 时,我收到了消息
PHP Fatal Error – yii\base\ErrorException
Class 'common\models\ReflectionClass' not found
如果框架中有Reflection类或者Yii2中声明ReflectionClass的方法
最佳答案
因为 yii2 使用 namespaces,当您调用 new ReflectionClass()
时,php 在您在文件开头声明的 namespace 中查找此类,在您的情况下它的 namespace common\models;
要加载 php 的类,您需要在它们的名称前加上 \。因此,要实例化 ReflectionClass,您需要编写 new\ReflectionClass(__CLASS__)
。更多内容 documentation
关于php - 带有 ReflectionClass 的 Yii2 模型不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272938/
我目前正在使用 phpunit 进行一些单元测试。由于存在一些 protected 方法,我不得不使用 Reflection Class 将这些方法的可见性更改为 public。 最初的方法被成功调用
我正在尝试通过反射访问/更改类的父类的属性。 如果我在子级上运行 ReflectionClass::getProperties(),它是否也会返回父级也具有的任何属性? 如果没有,有没有办法使用反射访
有没有可能在没有邪恶评估的情况下做这样的事情: var str='MyClass'; eval('new '+str); 我刚刚了解到 PHP 中有 ReflectionClass...谢谢。 最佳答
我有一个带有两个魔术方法的 TableData 类。一个是构造函数,另一个是 __call 方法。 我用下面的代码实现了调用: $class = new ReflectionClass('TableD
ReflectionClass 是在哪个版本的 PHP 中引入的? 例如: $objMetaData = new ReflectionClass('Direction'); $arrValidDire
我正在尝试从一个类中获取文档评论,对于我的一生,我不知道为什么 getDocComment() 返回 false。我期待 getDocComment 返回@Whatever。 getDocCommen
我有代码 - 工作正常(我不必包含 ReflectionClass 类): class Test { const TYPE_ONE = "Number one"; const TYPE
我在看一个tutorial处理类和对象,我遇到了这行令人困惑的代码。 Class::newInstance() 和 new Class() 有区别吗? 我阅读了文档,它似乎没有提到任何不同之处,所以我
我正在创建一个新的 ReflectionClass,然后将 protected 属性 _products 设置为可访问。它总是返回 null 我在这里做错了吗?我在5.4.11 $project =
我是一名优秀的程序员,十分优秀!