我一直在使用Codeigniter构建一个中等规模应用程序的前端,并且遇到了一个关于PHP继承的问题。在遵循MVC架构时,我发现我在多个模型中重复编写了很多代码,于是决定创建一个公共模型,其他模型可以从中继承。这很简单。然而,现在我遇到了一些在公共模型类中定义的函数问题。
下面是我正在做的事情的概述:
下面是我正在做的事情的概述:
<?php
/**
* Common Model
*
*/
class DeviceModel extends Model {
function DeviceModel() {
parent::Model();
}
public function getDeviceId($d) { // this is just example code. }
public function getDeviceInfo($id) {
$selectStmt = "SELECT BLAH, BLAH2 FROM YADDAYADDA...";
$query = $this->db->query($selectStmt, array($id));
if ($query->num_rows() > 0) {
return $query->result();
}
}
}
?>
这是子类:
<?php
require_once('devicemodel.php');
class ManageModel extends DeviceModel {
function ManageModel() {
parent::DeviceModel();
}
function getDropDownList($parkId,$tableName,$userclass) {
$arrCmds = array();
$arrHtml = array();
$deviceInfo = parent::getDeviceInfo($parkId);
$did = parent::getDeviceId($deviceInfo);
foreach ($deviceInfo as $device) {
$cmds = $this->getDeviceCommands($device->dtype,$tableName,$userclass);
array_push($arrCmds,$cmds);
}
//
// **After the refactor, I am receiving Undefined Offsets for this loop.**
//
for ($i=0; $i<sizeof($arrCmds); $i++) {
$html = $this->generateHtml($arrCmds[$i],$did[$i]);
array_push($arrHtml,$html);
}
return $arrHtml;
}
在CodeIgniter中使用多重继承是否存在问题?我对PHP和CodeIgniter都比较陌生。谢谢。
感谢您的关注。