调查为什么我们应该使用服务提供者和服务容器来加载Laravel中的新库/类?(为什么不是更简单的方法?)

调查为什么我们应该使用服务提供者和服务容器来加载Laravel中的新库/类?(为什么不是更简单的方法?),laravel,service-provider,Laravel,Service Provider,我已经准备好了文档中的主题,但请帮助我了解为什么这是最正确的方法,以及像$this->load->model('User\u model')或在CodeIgniter中设置/config/autoload.php配置这样的方法有什么错误(而且还不够) 如果我们想使用额外的控制器(比如Request$Request)作为方法注入,或者UserRepository$users作为控制器注入(在我看来这不是一个有意义的例子,但是)将这些类作为属性访问(比如$this->input->get('id')

我已经准备好了文档中的主题,但请帮助我了解为什么这是最正确的方法,以及像
$this->load->model('User\u model')
或在CodeIgniter中设置
/config/autoload.php
配置这样的方法有什么错误(而且还不够)

如果我们想使用额外的控制器(比如
Request$Request
)作为方法注入,或者
UserRepository$users
作为控制器注入(在我看来这不是一个有意义的例子,但是)将这些类作为属性访问(比如
$this->input->get('id')有什么不对如果我们想要致力于OOP概念的话,我们需要什么特质


它似乎更像是编码风格和框架约定(这当然也很重要),不是吗?

你能提供一些例子/一些上下文来说明
$this->load->model('User\u model')
$this->input->get('id')
做什么以及如何使用它们吗?@devk我来自CodeIgniter。使用
$this->input->get('id')
我们得到
$\u get['id']
,但在Laravel中,我们应该以
请求$request
作为参数,按每个方法访问
$request
实例。另外,当我们想要加载库/类时,Laravel强制我们使用服务容器和服务提供者。但在CodeIgniter中,它就像
$this->load->model('User\u model')
$this->load->library('Paypal\u gayment')
一样简单,然后我们可以使用
$this->User\u model
$this->Paypal\u gateway
访问它。我仍然不一定明白Laravel的服务提供商和容器在哪里发挥作用?Laravel并没有强迫您在自己的模型/类中使用它们。你能用一些这样的例子来编辑你的问题吗?你是如何在Laravel中编辑的?我很乐意回答什么时候它们很好,为什么要使用它们,什么时候不需要它们,但请给我一些例子。当您强制执行
请求
并向控制器提供
$Request
数据时,您就有了更多的依赖项,比如验证,控制器中的更多数据在前端工作……顺便说一句,你命名它,一个框架约定,是的,它是(这有什么不对?框架就是这样工作的…)。最后,请求对象在Laravel中比CodeIgniter中的输入对象有用得多…@devk感谢您的帮助。因为我是一个在Laravel的新手,我不知道
@Bart
提到的事情,我需要这样一个答案:与编码风格和惯例不同,我们有一些只有在Laravel才有的好处。正如你所说,也许我应该把我的问题编辑成。。。在Laravel和CodeIgniter中加载资源的优缺点是什么?