我正在使用带有HMVC扩展的框架CodeIgniter 3,我无法加载模型。当我尝试这样做时,我看到下一个错误:无法找到您指定的模型:保护。
模型文件(protection.php)放在/ application / modules / main / models /并扩展此代码:
d <- seq.Date(Sys.Date(), Sys.Date()+10000, by = "day")
as.character(d, by=1)
as.character(d, by=10)
as.character(d, by=100)
将控制器文件放在/ application / modules / main / controllers /中,使用此代码加载模型并调用她的函数:
class Protection extends MX_Model
{
function Protection()
{
parent::Model();
}
function check($val)
{
$tpl = "![^\w\d\s]*!";
if(is_array($val))
{
foreach($val as $k => $v)
{
$val[$k] = preg_replace($tpl,"",$v);
}
}
else
{
$val = preg_replace($tpl,"",$val);
}
return $val;
}
}
我尝试重命名模型文件,将其放在其他文件夹中,但所有文件都失败了。
答案 0 :(得分:2)
HMVC 模型应该扩展CI_Model只有控制器在控制器上使用MX_而且对于模型名称而不仅仅是保护作为模型名称我认为最好有model_protection所以codeigniter不会混淆
modules >
modules > main >
modules > main > controllers
modules > main > models
modules > main > views
在构造函数
上不使用parent::Model();
但是使用parent::__construct();
就像在我的例子中一样
在控制器上
$this->load->model('modulename/model_protection');
$this->model_protection->check($key);
文件名Model_protection.php
<?php
class Model_protection extends CI_Model {
public function __construct() {
parent::__construct();
}
public function check($val) {
}
}
提示所有控制器,模型和库的首字母应该是文件名和类名
的大写字母