【发布时间】:2012-05-23 00:01:53
【问题描述】:
我一直在 CodeIgniter 框架中做一些 PHP。我制作了自己的 Model 类,它扩展并覆盖了默认的 codeigniter。就在下面:
<?php
class MY_Model extends CI_Model
{
public $table;
public function __construct()
{
parent::__construct();
$this->table = get_class($this);
$this->fields = $this->db->field_data($this->table);
}
}
然后我制作了一个模型来管理数据库中的语言,代码如下。如果我在 Language_model 中回显$this->table,我会得到我想要的“Language_model”。但是由于表名无效(“MY_Model”无效),父运行“$this->db->field_data($this->table)”的代码错误。由于错误,该代码甚至从未在孩子中执行 var_dump 。为什么“$this->db->field_data($this->table)”也不使用“Language_model”作为$this->table? 的值
运行 PHP 5.3.9
class Language_model extends MY_Model {
function __construct()
{
parent::__construct();
var_dump($this->fields);
}
}
【问题讨论】:
标签: php oop codeigniter inheritance methods