我正在閱讀https://www.amazon.com/PHP-MySQL-Web-Development-4th/dp/0672329166 。在 OOP 章節(jié)中,我實(shí)現(xiàn)了 page 類(下面的代碼),然后在另一個(gè)腳本中嘗試通過 Reflection("Page") 創(chuàng)建一個(gè)實(shí)例,依次嘗試echo 那個(gè)類(通過隱式方法__toString(),就像書中一樣:類本身并不重要,但從 Reflection 類推斷它的嘗試是:foo.php:<?phprequire_once('page.php');$class = new Reflection('Page');echo '<pre>'.$class.'</pre>';給出錯(cuò)誤:Recoverable fatal error: Object of class Reflection could not be converted to string in /var/www/html/2/foo.php on line 5所以錯(cuò)誤表明Reflection類沒有方法__toString(),但由于它在書中作為示例,我認(rèn)為它應(yīng)該有。那么如何回顯通過 類推斷出 類的變量 $class 呢?PageReflaction
1 回答

慕尼黑的夜晚無繁華
TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
這本書和例子已經(jīng)很過時(shí)了,2020年不建議這樣開發(fā)。代碼充滿了XSS安全問題和糟糕的代碼風(fēng)格。無論如何,你可以在這里嘗試這個(gè)來反映課程:
<?php
// ...
$reflector = new ReflectionClass('Page');
$properties = $reflector->getProperties();
foreach($properties as $property)
{
echo $property->getName() . "\n";
}
- 1 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報(bào)
0/150
提交
取消