我正在阅读https://www.amazon.com/PHP-MySQL-Web-Development-4th/dp/0672329166 。在 OOP 章节中,我实现了 page 类(下面的代码),然后在另一个脚本中尝试通过 Reflection("Page") 创建一个实例,依次尝试echo 那个类(通过隐式方法__toString(),就像书中一样:类本身并不重要,但从 Reflection 类推断它的尝试是:foo.php:<?phprequire_once('page.php');$class = new Reflection('Page');echo '<pre>'.$class.'</pre>';给出错误:Recoverable fatal error: Object of class Reflection could not be converted to string in /var/www/html/2/foo.php on line 5所以错误表明Reflection类没有方法__toString(),但由于它在书中作为示例,我认为它应该有。那么如何回显通过 类推断出 类的变量 $class 呢?PageReflaction
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
这本书和例子已经很过时了,2020年不建议这样开发。代码充满了XSS安全问题和糟糕的代码风格。无论如何,你可以在这里尝试这个来反映课程:
<?php
// ...
$reflector = new ReflectionClass('Page');
$properties = $reflector->getProperties();
foreach($properties as $property)
{
echo $property->getName() . "\n";
}
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消