我对laravel框架有疑问。
我一直在查看帮助我启动的laracast网站以及此处和那里的一些资源。
我很抱歉接下来的noob问题,但是我可以问一下我应该在哪里写函数来修改数据库中的数据?通常使用Eloquent ORM的函数创建模型并在DB中发出所需的更改。到目前为止,我所做的是我在App目录中创建了一个名为" classes"我把实用程序类放在那里,但我不确定它是否符合laravel 5规定的标准。
关于交易,我应该在那些创建的函数中进行吗?或者最好调用数据库中的程序?根据我个人的观点和经验,我更喜欢为数据库交易创建程序,但我仍然希望找到正确的方法。
谢谢大家!
答案 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足够灵活,可以应用您自己喜欢的模式。这是一种自由和一种危险。 :-)(其他人可能有不同意见)。