如何在PHP中覆盖父类中的变量?
我目前遇到一个问题,其中一个设置如下:如何在PHP中覆盖父类中的变量?,php,inheritance,Php,Inheritance,我目前遇到一个问题,其中一个设置如下: class Model { public $tableConnection = null; .... } 现在有一个继承模型的类 我想要实现的是定义tableConnection,只需将定义放入子类NewModel中,即可覆盖类模型中的原始变量 新模型应该尽可能简单,不需要额外的方法或函数,相反,模型可以包含任何有用的内容。也许有人认识到了CakePHP框架的相似之处。我试图理解这些事情是如何实现的。也许有一些PHP wizzard知道
class Model
{
public $tableConnection = null;
....
}
现在有一个继承模型的类
我想要实现的是定义tableConnection,只需将定义放入子类NewModel中,即可覆盖类模型中的原始变量
新模型应该尽可能简单,不需要额外的方法或函数,相反,模型可以包含任何有用的内容。也许有人认识到了CakePHP框架的相似之处。我试图理解这些事情是如何实现的。也许有一些PHP wizzard知道如何处理这个问题:-它正在工作,请检查这里:-
<?php
class Model
{
public $tableConnection = null;
}
class NewModel extends Model
{
public $tableConnection = array("belongsTo" => "otherModel");
}
$obj = new NewModel();
print_r($obj->tableConnection);
?>
输出:-正在工作,请检查此处:-
<?php
class Model
{
public $tableConnection = null;
}
class NewModel extends Model
{
public $tableConnection = array("belongsTo" => "otherModel");
}
$obj = new NewModel();
print_r($obj->tableConnection);
?>
输出:-您可以像这样覆盖父类中的属性。你的问题是什么$foo=新模型;var_dump$foo->tableConnection;它不起作用:-你真的在创建NewModel的实例吗?您在哪里获取此值?旁注:模型不能是类。模型是包含服务的抽象层。而服务本身是域对象和数据映射器之间的桥梁。您似乎在正确地调用数据映射器。这很有效。您可以完全像这样覆盖父类中的属性。你的问题是什么$foo=新模型;var_dump$foo->tableConnection;它不起作用:-你真的在创建NewModel的实例吗?您在哪里获取此值?旁注:模型不能是类。模型是包含服务的抽象层。而服务本身是域对象和数据映射器之间的桥梁。您似乎在正确地调用数据映射器。这很有效。