Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中覆盖父类中的变量?_Php_Inheritance - Fatal编程技术网

如何在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的实例吗?您在哪里获取此值?旁注:模型不能是类。模型是包含服务的抽象层。而服务本身是域对象和数据映射器之间的桥梁。您似乎在正确地调用数据映射器。这很有效。