【发布时间】:2017-02-03 18:09:17
【问题描述】:
这是我的代码:
<?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:12 中未定义的函数 getDimensions() 堆栈跟踪:#0 6033c6f9-bc53-4bfa-9e1d-a403951652f5.php(176):Render::detailsKitchen(Object( Room)) #1 {main} 在第 12 行的 index.php 中抛出致命错误:未捕获的错误:调用 index.php:12 中未定义的函数 getDimensions() 堆栈跟踪:#0 6033c6f9-bc53-4bfa-9e1d-a403951652f5。 php(176): Render::detailsKitchen(Object(Room)) #1 {main} 在第 12 行的 index.php 中抛出
【问题讨论】:
-
而
getDimensions函数确实没有定义。 -
getDimensions()与$this->getDimensions()不同 - 您可以不从静态函数调用。 -
$this^^^^^^^ -
首先您需要了解为什么在您的类中同时使用静态和非静态方法。