Laravel Repositories
在laravel
中Repositories
存在的好处是什么,在laravel4
中存在着这个文件夹,在5中将这个删除掉了,然而我感觉这个的存在使应用的整个业务逻辑在model层方面展现的更为抽象,感觉是为了一点的好处使程序的请求饶了一圈,可能是我的水平还达不到能够理解其存在的思想所在,谁能阐述下其存在的优点和好处以及为什么存在?有没有必要在laravel5.
中继续使用吗?
回复内容:
在laravel
中Repositories
存在的好处是什么,在laravel4
中存在着这个文件夹,在5中将这个删除掉了,然而我感觉这个的存在使应用的整个业务逻辑在model层方面展现的更为抽象,感觉是为了一点的好处使程序的请求饶了一圈,可能是我的水平还达不到能够理解其存在的思想所在,谁能阐述下其存在的优点和好处以及为什么存在?有没有必要在laravel5.
中继续使用吗?
不止在PHP,在JAVA,.NET等都有使用这样的设计。
补充下自己的使用场景:
在 Repositories 中封装通用的分页模块。
通过依赖注入,实例化Model对象。
在 Repositories 实现复杂查询,返回controller需要的数据。
Model 基本用来映射对应的表,做主外键级联更新。指定Presenter类。
在Controller 中只会对Repositories 进行调用。
自己在网上找了一篇关于这方面的文章,翻译了下,翻译的不太好。有需要的可以参考下http://segmentfault.com/a/1190000003488038?_ea=317641
是不是还是该加上
Repositories
?我最近刚学laravel不久,我发现直接在Controller里面使用数据库的操作很不好,正在找解决方案,在一个代码里发现有用
Repositories
,然后在laravel5.1里面已经不存在这个文件夹了,是不是还是该自己建起来,或者怎么实现数据库操作和控制器中逻辑的分离。
@ideading 你们所说的是设计模式中的 repository pattern,属于各个面向对象语言通用的实践。
Laravel 4 的时候是为了方便用户写出更好的代码,所以设计的比较拖沓。如果你觉得自己有必要继续这样,自己建类。
Taylor Otwell 一直在根据自己的代码经验对 Laravel/Laravel 这个库(也就是 Laravel 应用的默认骨架)做调整,比如从 5.0 到 5.1,为了不让用户产生错觉,把 Command 目录重命名为 Jobs,突出 Command 最佳使用场景是 Queue,因为之前大量的人用这个目录去盛放 command pattern 的内容。 Taylor 在自己的产品 Forge 中尝试使用这种设计模式的事后发现,会导致大量的重复工作,原话是 1900 个类,他觉得绝大多数产品都不需要这种模式,在控制器中处理就好。
Laravel 是一个吸收很多语言实践的框架,理解其中内容的时候,建议脱离 Laravel 甚至脱离 PHP 本身去理解。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

在使用CraftCMS开发网站时,常常会遇到资源文件缓存的问题,特别是当你频繁更新CSS和JavaScript文件时,旧版本的文件可能仍然被浏览器缓存,导致用户无法及时看到最新的更改。这个问题不仅影响用户体验,还会增加开发和调试的难度。最近,我在项目中遇到了类似的困扰,经过一番探索,我找到了wiejeben/craft-laravel-mix这个插件,它完美地解决了我的缓存问题。

Laravel 提供了一个全面的 Auth 框架,用于实现用户登录功能,包括:定义用户模型(Eloquent 模型)创建登录表单(Blade 模板引擎)编写登录控制器(继承 Auth\LoginController)验证登录请求(Auth::attempt)登录成功后重定向(redirect)考虑安全因素:哈希密码、防 CSRF 保护、速率限制和安全标头。此外,Auth 框架还提供重置密码、注册和验证电子邮件等功能。详情请参阅 Laravel 文档:https://laravel.com/doc

在面向初学者的 Laravel 框架版本选择指南中,本文深入探讨了 Laravel 的版本差异,旨在协助初学者在众多版本之间做出明智的选择。我们将重点介绍每个版本的关键特征、比较它们的优缺点,并提供有用的建议,帮助新手根据他们的技能水准和项目需求挑选最合适的 Laravel 版本。对于初学者来说,选择一个合适的 Laravel 版本至关重要,因为它可以显著影响他们的学习曲线和整体开发体验。
