这是我的代码:
<?php
class Render {
public $dimensions =array();
public function getDimensions($room) {
return $this->dimensions;
}
public static function displayDimensions($size) {
return $size[0] . " x " . $size[1];
}
public static function detailsKitchen($room) {
return "Kitchen Dimensions: " . Render::displayDimensions(getDimensions($room));
}
}
$room = new Render();
$room->dimensions[] = (20);
$room->dimensions[] = (10);
?>
这是错误:
PHP致命错误:未捕获错误:在index.php中调用未定义函数getDimensions():12堆栈跟踪:#0 6033c6f9-bc53-4bfa-9e1d-a403951652f5.php(176):Render :: detailsKitchen(Object(房间))在第12行的index.php中抛出#1 {main}致命错误:未捕获错误:在index.php中调用未定义函数getDimensions():12堆栈跟踪:#0 6033c6f9-bc53-4bfa-9e1d-a403951652f5。 php(176):Render :: detailsKitchen(Object(Room))在第12行的index.php中抛出#1 {main}
答案 0 :(得分:0)
也许您应该尝试$room->getDimensions()
,而不是使用您的实例作为参数调用该方法(您应该相应地更改您的方法)。
答案 1 :(得分:0)
在任何语言中,都不能从静态上下文中调用非静态方法。这就是为什么它说没有定义。因为我认为你打算这样做
$room->getDimensions()
,您应该将getDimensions()更改为$ room-&gt; getDimensions()。