php - 如何使用静态方法运行构造函数
问题描述
当我运行我的脚本时,我看到空白页意味着没有任何价值。请检查我的代码哪里错了,以及为什么会这样。
<?php
class house{
public static $size;
public static $width;
public static function getsize() {
return self::$size;
}
public static function getwidth() {
return self::$width;
}
public function __construct($widthh,$sizee) {
self::$size=$sizee;
self::$width=$widthh;
}
}
$myhousesize = house::getsize('4',' 10');
echo $myhousesize;
?>
所以,这是我使用构造函数来检查但没有任何作用的代码。这怎么可能?
解决方案
您可能误解了 PHP 中 OOP 的一些基本方面。
首先,当您实例化一个新对象时,会调用一个类的构造函数,如下所示:
$house = new house('4','10').
您正在做的是使用两个未使用的参数调用类的静态方法。
其次,不清楚为什么要使用静态字段和方法,因为它们属于类本身而不是单个实例。
你可能想做的是这样的:
class House{
private $width;
private $size;
public function __construct($width,$size){
$this->width = $width;
$this->height = $size;
}
public function getSize(){
return $this->size;
}
public function getWidth(){
return $this->width;
}
}
$house = new House(4,10);
echo $house->getSize();
推荐阅读
- c# - Automapper - 访问 MapFrom 中的默认地图功能以回退
- python - JSONResponse 中未解决的参考“内容”
- visual-studio-code - 通过 VS Code launch.json 使用 Node js Mocha 运行单个测试文件
- wordpress - Woocommerce - 特定产品为物理商店送货地址添加免费送货
- apache - 本地 HTTP 请求检查器
- sql - 案例陈述中的 SQL 案例陈述
- google-cloud-platform - 聚合重复字段:BigQuery
- r - 我应该如何修复我的 ggplot boxplot 代码以获得所需的外观?
- apache-kafka - 具有自定义消费者组名称的 Kafka Sink 连接器
- swift - 试图让 GameKit matchMaking 工作