我们在哪里编写在laravel 5中访问数据库的函数?

时间:2015-04-28 06:35:36

标签: php database laravel

我对laravel框架有疑问。

我一直在查看帮助我启动的laracast网站以及此处和那里的一些资源。

我很抱歉接下来的noob问题,但是我可以问一下我应该在哪里写函数来修改数据库中的数据?通常使用Eloquent ORM的函数创建模型并在DB中发出所需的更改。到目前为止,我所做的是我在App目录中创建了一个名为" classes"我把实用程序类放在那里,但我不确定它是否符合laravel 5规定的标准。

关于交易,我应该在那些创建的函数中进行吗?或者最好调用数据库中的程序?根据我个人的观点和经验,我更喜欢为数据库交易创建程序,但我仍然希望找到正确的方法。

谢谢大家!

2 个答案:

答案 0 :(得分:1)

正确的答案是您想要的任何地方,但当然这对那些没有经验使用这些类型的框架的用户有帮助,所以之后会有更多自以为是的答案(对于最新版本的在撰写本文时的框架L5。)

在Laravel5中,如果您发出artisan命令php artisan make:model,则生成的模型将存储在/ App / *中,因此它是一个非常好的起点。通过将模型放在那里,您可以执行新的/App/User();,PSR自动加载器将自行选择并为您自动加载。当然,如果您觉得这太过通用,那么您可以将它们存储在/ App / Models / *中 - 更改模型的命名空间并通过new /App/Models/User();引用它。

要实现的一件重要事情是,在MVC框架中Models非常模糊,并且不仅仅与数据库有关,而是与任何外部数据库有关。 Model是外部数据到应用程序可以使用的格式的映射,这就是Models不再使用专用目录的原因。

对于一般"图书馆"我会说 - 如果它可以重复使用,那么创建一个作曲家包。如果不是则创建/ App / DescriptiveNamespace /*.

答案 1 :(得分:0)

我建议您阅读本书From Apprentice To Artisan

我真的很喜欢这个概念。

  

控制器和路由充当HTTP和您之间的中介   应用。编写大型应用程序时,请不要混淆它们   使用您的域逻辑。

所以,如果有人问我在哪里进行数据库操作,我会说“模型”。但我的答案可能会有所不同,这取决于我需要做的业务逻辑以及我的应用程序的规模。 Laravel已经提供了一种很好的交易方式。我发现有很多人喜欢数据库程序,如果你更喜欢使用数据库程序,那取决于你。

在工程学中,每个答案都可以在某个时间之前回答。 laravel足够灵活,可以应用您自己喜欢的模式。这是一种自由和一种危险。 :-)(其他人可能有不同意见)。