在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 本身去理解。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Dreamweaver Mac
Outils de développement Web visuel

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
