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