PHP进阶篇

(转载)如何写出优雅耐看的PHP代码?

2021-08-31  本文已影响0人  浅浅而谈

如何写出优雅耐看的PHP代码?本篇文章带大家了解一下PHP代码的基本书写规范和框架规范,了解它们让你的PHP代码优雅一个档次!

image

引言

今天老王同学跟我说,他的代码好糟糕,像一坨xiang。问我要怎么

提高自己的代码质量,让自己代码看得顺眼一点,舒服一点, 就像

看到大长腿MM,两眼放光那种。

于是我: 你先这样,然后这样,然后再那样。。。。。。

老王同学: 别闹, 到底是哪样?

好的, 我要开始装13了。。。

1.png

基本规范

先说一下最基本的东西:

2.png 3.png 4.png 5.png

预期结果是输出: 2 4 6,实际结果是2 4 4, 至于为什么可 以看我之前的文章: PHP中&符号你真的了解吗?。 可以使用array_walk`方法避免这个问题, 示例:

6.png 7.png

建议使用第二种方式,不符合条件的直接返回,剩下的就是符号条件的,那么避免了在if里面写很多代码。

8.png

方法未使用,方法名不规范已经告诉你了,可以快捷修改,也可以自己修改。

框架规范

参数验证

9.png 10.png 11.png

比如登录需要参数验证再建立一个LoginRequest类继承这个BaseRequest

12.png 13.png

这里获取请求参数的时候会对表单进行验证,否则参数验证失败会调用刚刚Request积累定义的方法抛Json异常,返回信息给客户端。

控制器

控制器的主要工作负载获取请求数据和返回内容,不应做更多的事情,那么可以定义一个Service层来处理业务逻辑。 所以我的控制器的代码只有一行。

14.png

然后建立一个UserService来处理用户相关的业务逻辑。

15.png

在UserController中注入这个UserService使用:

16.png

Model

Model不建议写业务逻辑。Model主要是用来定义一些内容,不应该操纵数据。

Model的数据操纵应该放在Repository中,在Laravel的app目录下建立一个文件夹Repositories

定义BaseRepository:

17.png

定义UserRepository,用于用户数据相关的操作, 在构造方法中注入UserModel:

18.png

常量

项目中很多常量该怎么定义?

在app目录创建一个Constant目录, 再建立一个Contstant类来保存这些自定义常量。

这样的好处是:

19.png

原文地址:https://juejin.cn/post/6957290009682509854

作者:ClassmateLin

本文转载自:https://www.php.cn/php-weizijiaocheng-481235.html

推荐学习:《PHP视频教程

上一篇下一篇

猜你喜欢

热点阅读