我有一些类,我想加载作为模型,但问题是我想在几个模型中将它们分开,现在我有一个类似于这样的类的文件:
class email {
function add($email, $name, $quiet=NULL, $actiovation=NULL) {
global $secretstring;
global $mail;
global $path;
global $activating;
if (strlen($email) < 1) {
if (!isset($quiet)) {
msg::getInstance()->addSuccess("Please enter your email address.");
}
$error = 1;
}
if (strlen($name) < 1) {
if (!isset($quiet)) {
msg::getInstance()->addSuccess("Please enter your name.");
}
$error = 1;
}
$addData = mysql_fetch_array(sql::getInstance()->query("SELECT id FROM emails WHERE email='".sql::getInstance()->sec($stamp)."'")); // getting id of this email
}
class msg {
static private $instance = NULL;
function addSuccess($success) {
$this->success .= $success."\\n ";
}
}
class sql {
static private $instance = NULL;
function query($query) {
return mysql_query($query);
}
function sec($string) {
return mysql_real_escape_string(htmlspecialchars($string));
}
使用实例我可以轻松地从另一个类调用函数?但问题是当我想从另一个模型调用函数时,在一个模型中,我不知道如何在CI中进行调用?任何帮助我都举了一个简单的例子来说明我是如何创建课程的。
答案 0 :(得分:4)
您只需要确保在要使用这些函数的模型中加载要调用函数的模型。就像在控制器中一样。
这样的事情:
public class Email extends CI_Model{
function add(...){
$this->load->model('msg');
$this->msg->addSuccess(...);
}
}
这真的很容易。
答案 1 :(得分:0)
CI有两种调用函数的方法。无论您创建什么模型,您都必须在该类中加载您希望使用该类的模型。
手动加载。
$这 - &GT;负载&GT;模型( “your_model_name”);
注意:在要使用的类中调用上面的行。
将您的类加载到application / config / auto_load.php
中的auto_load类中调用功能:
$这 - &GT; your_class_name-&GT;函数名(参数);
阅读这些资源以获得更多帮助和说明。