Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
Codeigniter 代码点火器-使用;新";创造_Codeigniter - Fatal编程技术网

Codeigniter 代码点火器-使用;新";创造

Codeigniter 代码点火器-使用;新";创造,codeigniter,Codeigniter,我有一个关于CodeIgniter的哲学问题,以及它的模型在利用“新”来举例方面的作用 在我看来,这个想法,就是你用,比如说,一本书的模型 $this->load->model("book_model") 而不是 new book_model 我的意思是,由于只加载一次book_模型,因此一个book_模型只有一个实例,如果要对多个book建模,则将在book_模型中使用createNewBook函数,而不是在使用“new”后执行_构造函数 这样看对吗?我的意思是,我用同样的Bo

我有一个关于CodeIgniter的哲学问题,以及它的模型在利用“新”来举例方面的作用

在我看来,这个想法,就是你用,比如说,一本书的模型

$this->load->model("book_model")
而不是

new book_model
我的意思是,由于只加载一次book_模型,因此一个book_模型只有一个实例,如果要对多个book建模,则将在book_模型中使用createNewBook函数,而不是在使用“new”后执行_构造函数


这样看对吗?我的意思是,我用同样的BoojyMoad实例和它里面的一个函数“RealTeBook”?我们应该考虑在CODEGITENT中不使用“新”吗?< /P> < P>实际上,当您调用<代码> $ > -Load >模型(“BoojyMod”)< /COD> <代码> CODEIGITITER < /代码>为您做这项工作,这意味着“代码> CODEIGITITER <代码>加载程序类有一个方法:代码>公共函数模型(…)它实例化了作为参数传递的模型,例如
book\u model

取自
装载机类中的
模型功能
(位于
系统/核心

它检查
\u ci\u models
受保护的数组,查看请求的模型是否已加载,然后
返回
,如果未加载,则加载,即(模型方法的最后一段)

因此,您不需要使用
new
手动实例化它,一旦加载了模型(同样适用于其他库或类),您就可以在脚本中的任何位置访问/使用它

由于
CodeIgniter
使用()设计模式,因此您只有一个超级全局
$CI
对象(CodeIgniter的一个实例)可用,并且它承载您已加载或将要加载的所有内容

加载
book\u model
model,然后调用该模型的
initiateBook()
方法

$this->load->model("book_model"); // book_model loaded/instantiated
$this->book_model->initiateBook(); // initiateBook() function has been called

实际上,当您调用
$this->load->model(“book_model”)
时,
CodeIgniter
为您完成了这项工作,这意味着
CodeIgniter
Loader类有一个方法
公共函数模型(…)
,它实例化了您作为参数传递的模型,例如这里的
book_model

取自
装载机类中的
模型功能
(位于
系统/核心

它检查
\u ci\u models
受保护的数组,查看请求的模型是否已加载,然后
返回
,如果未加载,则加载,即(模型方法的最后一段)

因此,您不需要使用
new
手动实例化它,一旦加载了模型(同样适用于其他库或类),您就可以在脚本中的任何位置访问/使用它

由于
CodeIgniter
使用()设计模式,因此您只有一个超级全局
$CI
对象(CodeIgniter的一个实例)可用,并且它承载您已加载或将要加载的所有内容

加载
book\u model
model,然后调用该模型的
initiateBook()
方法

$this->load->model("book_model"); // book_model loaded/instantiated
$this->book_model->initiateBook(); // initiateBook() function has been called

好啊谢谢那么怎么办呢?如果我不能做$book=newbook,我怎么能在我的控制器中有$book变量,从中我可以做$book->name;加载它
$this->Load->model(“book\u model”)
然后调用方法
$this->book\u model->initialebook()
ok,但是如果我这样做,
book1=$this->book\u model->initialebook()
book2=$this->book\u model->->initialebook()
,book1和book2是同一个实例吗;谢谢那么怎么办呢?如果我不能做$book=newbook,我怎么能在我的控制器中有$book变量,从中我可以做$book->name;加载它
$this->Load->model(“book_model”)
然后调用方法
$this->book_model->initialebook()
ok,但是如果我这样做,
book1=$this->book_model->initialebook()
book2=$this->book_model->->initialebook()
,book1和book2是同一个实例吗?
$this->load->model("book_model"); // book_model loaded/instantiated
$this->book_model->initiateBook(); // initiateBook() function has been called