我正在检查joomla 1.6 index.php,我在最后一行找到了以下代码
echo $ app;
这会打印整个页面内容。
我刚刚使用print_r()打印出此对象中的内容,我得到了以下详细信息
JSite Object
(
[template:JSite:private] => stdClass Object
(
[id] => 6
[home] => 1
[template] => beez5
[params] => JRegistry Object
(
[data:protected] => stdClass Object
(
[wrapperSmall] => 53
[wrapperLarge] => 72
[logo] => images/sampledata/fruitshop/fruits.gif
[sitetitle] => Matuna Market
[sitedescription] => Fruit Shop Sample Site
[navposition] => left
[html5] => 0
)
)
)
[_language_filter:JSite:private] =>
[_detect_browser:JSite:private] =>
[_clientId:protected] => 0
[_messageQueue:protected] => Array
(
)
[_name:protected] => site
[scope] =>
[requestTime] => 2011-10-17 17:23
[startTime] => 1318872200.5365
[_errors:protected] => Array
(
)
)
所以echo $ app如何显示所有网站内容,它不包含对象中的任何HTML内容。
非常感谢
答案 0 :(得分:5)
答案 1 :(得分:3)
$app
是一个对象,print_r
以与echo
不同的方式访问其值。调用echo
时,它还会隐式调用magic __toString
方法。已定义为在给定存储在对象内部的值的情况下,它返回带有页面内容的字符串。 print_r
会为您提供这些值,但不会为__toString
表示。