为什么不是使用为 Laravel 定制纸杯的包

我们是一品威客网VIP金尊旗舰签约垺务商(山东省唯一合作式签约战略合作伙伴)

[潍坊易网互联信息科技有限公司]

公司地址  :山东省潍坊市奎文区泰华大厦A15

尊敬的雇主您好!本次出价为估计价格待详细沟通后再另行确认价格和工期

易网互联:您全方位的网络顾问,打造适合您的互联网营销体系!我们將诚信、专业、热情、执着、专注为您做好服务您的需求就是我们努力的方向!真诚期望与您合作!

这篇文章并不是什么由 Laravel 改编的 SOLID 原則、模式等

只是为了让你注意你在现实生活的 Laravel 项目中最常忽略的内容。

一个类和一个方法应该只有一个职责

强大的模型 & 简单控制器

如果你使用查询构造器或原始 SQL 来查询,请将所有与数据库相关的逻辑放入 Eloquent 模型或存储库类中

将验证从控制器移动到请求类。

很常见但不推薦的做法:

业务逻辑应该在服务类中

一个控制器必须只有一个职责因此应该将业务逻辑从控制器移到服务类。

不要重复你自己(DRY)

尽可能重用代码 SRP(单一职责原则)正在帮助你避免重复。当然这也包括了 Blade 模板、Eloquent 的范围等。

Eloquent 可以编写可读和可维护的代码此外,Eloquent 也拥有佷棒的内置工具比如软删除、事件、范围等。

不要在 Blade 模板中执行查询并使用关联加载(N + 1 问题)

不好的地方在于这对于100 个用户来说,等於执行 101 个 DB 查询:

下面的做法对于 100 个用户来说,仅仅只执行 2 个 DB 查询:

与其花尽心思给你的代码写注释还不如对方法或变量写一个描述性嘚名称

// 确定是否有任何连接。
 


 


最好的方法是使用在 Javascript 中这样来传输数据:

在代码中使用配置和语言文件、常量而不是写死它

 
 

使用社区接受嘚标准的 Laravel 工具

 
 
最好使用内置的 Laravel 功能和社区软件包,而不是其他第三方软件包和工具因为将来与你的应用程序一起工作的开发人员都需要學习新的工具。另外使用第三方软件包或工具的话,如果遇到困难从 Laravel 社区获得帮助的机会会大大降低。不要让你的客户为此付出代价!

遵循 另外,请遵循 Laravel 社区接受的命名约定:

按字母顺序排列的单数模型名称
带着模型名称的蛇形命名
带_id后缀的单数型号名称

尽可能使用哽短、更易读的语法

新的 Class 语法创建类时不仅使得类与类之间紧密耦合,还加重了测试的复杂度推荐改用 IoC 容器或 facades。

不要直接从 .env 文件获取數据

将数据传递给配置文件然后使用辅助函数 config() 在应用程序中使用数据。

以标准格式存储日期必要时就使用访问器和修改器来修改日期格式

  • 千万不要在路由文件中放置任何逻辑。
本作品采用转载必须注明作者和本文链接

前言 : 一般的唯一识别id都是各种时間戳、毫秒级时间戳加php内置函数或者加上随机数等手段来生成的 下面给大家介绍一个组件,也是我在各个实战项目中必不可少的一个组件ramsey/uuid。

● 机器hash(防止多台机器之间ID冲突)
● 进程ID(防止多进程冲突)
● 自增值(同一秒内自增)

该方法号称是1000年以内不会出现重复数据的┅种算法id(具体情况是不是这样博主也无从得知,没有用那么大的数据量去特意做个测试).

为什么说我在每个项目中基本上都用到这个组建呢记得博主当初刚刚步入程序员的时候经常为各个表的自增id的关联查询而头疼 什么uid 、tuid 、 suid ....后来使用唯一识别id后大大减轻了这种负担。
简书著作权归作者所有任何形式的转载都请联系作者获得授权并注明出处。

我要回帖

更多关于 定制纸杯 的文章

 

随机推荐