Php 是$this->load->model('model_name');=$var=新模型_name();?

Php 是$this->load->model('model_name');=$var=新模型_name();?,php,codeigniter,oop,coding-style,Php,Codeigniter,Oop,Coding Style,我想知道我在Codeigniter模型中是否做了正确的面向对象编程,因为我对$this->load->model'model_name'感到困惑;$var=新型号名称 现在我正在使用$this->load->model'model_name';我可以使用$this->model\u name->functionName调用所有函数;另一方面,很多OOP教程都使用这个$var=newmodel\u名称;我还可以使用$model\u name->functionName调用所有函数 谢谢 别担心。您

我想知道我在Codeigniter模型中是否做了正确的面向对象编程,因为我对$this->load->model'model_name'感到困惑;$var=新型号名称

现在我正在使用$this->load->model'model_name';我可以使用$this->model\u name->functionName调用所有函数;另一方面,很多OOP教程都使用这个$var=newmodel\u名称;我还可以使用$model\u name->functionName调用所有函数


谢谢

别担心。您正在正确使用它并将其指定给CI对象。绝大多数时候,当你看到它是结构化的

$model = new Model();

是在CI实例之外的自定义库中实现模型的时间。

谢谢您的回复。实际上,我也可以像$this->ci=&get\u instance;并使用$this->ci->load->model'model_name';加载模型;。你能进一步讨论吗?因为我觉得我仍然在用过程的方式而不是面向对象的方式。你唯一需要得到CI实例的时候是当你所在的类没有扩展CI时。当你的课开始的时候。。“我的控制器”扩展了CI\U控制器。您可以自动继承父类方法,因此$this直接引用CI。如果您有一个外部类要访问其中的CI功能,则需要获取一个实例才能访问CI对象。因此,$this->ci。如果您在CI模型/控制器中工作时宁愿使用继承的方法,否则会污染您的范围对不起,我忘了说我在谈论您之前所说的自定义库。我只想知道$this->load->model'model_name';$var=新型号名称;是相同的吗?为什么?为什么不呢?是的,除了$this->load->model自动将模型分配给$CI类中的一个变量,相当于$this->CI->my_model=new my_model