怎么使php语言变得简洁
    php语言一直以简单易用著称,那么怎么使php语言变得简洁呢?下面是我精心整理的怎么使php语言变得简洁,欢迎阅读,希望大家能够喜欢。
    怎么使php语言变得简洁
    1. 统一的编码规范
    编码规范往简单说其实就是三个方面:
    换行
    空格
    变量命名
    放在 PHP 里面,还有一些附加的地方,比如关键字大小写,语法糖的使用(array() 与 [] 等)的问题。之前整理过 PSR 的标准,也过 php-cs-fixer 这样的工具。这些都是规范代码的重要手段。有统一的标准,配合上工具的检查,形成统一的编码约束不是什么难题。
    没有规范,不同的人甚至同一个人在空格、换行和命名上都有可能是十分随意的。代码一长,回使整个文件看起来无比杂乱。
    典型的例子比如:if 和 else 的组合,可以写出无数种风格,比如:
    这里并不探讨各种写法的优缺点,只是风格需要保持统一,不要混用。
    2. 良好的编码习惯
    如果你仔细看过 PSR 的标准,可能也会注意到某些地方其实是标准无法涉及到的。比如一个超长的表达式在什么时候换行,如何缩进等。
    这里涉及到的就是编码习惯的约束问题。
    比如方法的链式的调用的问题,比如某些数据库查询的封装:
    3. 寻最优的写法
    写代码的过程中,最优的写法和编码习惯又不是同一件事情。这里要说的指的是如何遵循 PHP 的语言特性或者框架的特征,充分发挥语言和框架的能力来减少冗余。
    比如在获取前端传入的参数的时候,很多时候能见到这样的代码:
    $param = isset($_POST[param]) ? $_POST[param] : ;
    更有甚者一些框架将前端传入的参数封装了一层,比如 $this->request->data[param],如果再去用 isset 或者 array_key_exists 判断,整个获取参数的语句就会变得很长。
    某些情况下使用三元运算符的时候需要注意 ?: 是可以合并使用的。
    其实我们应该去尝试封装这种写法,防止同样的变量出现在一个语句中多次的情况。对于默认值的赋予,可以调研框架是否有封装提供,或者通过强制类型转换的方式进行。
    还有一种情况是条件和循环嵌套的时候。比如从数组里抽取某一个字段,或者对某一个字段的值进行处理的时候,善用 array_map 以及引用(">编码小技巧
    数组转化
    我们常常需要在一个函数里面接受一个支持字符串或者数组类型数据的参数。可以使用适当的类型转化方式将字符串类型转化成数组类型,来取代类型检测。
    当然这看起来没什么区别,只是节省了一行代码而已。但是你可以设想一下,当你使用复杂的循环结构或者嵌套数组处理大量数据时。这样做将会有意义,它能使代码保持简洁。
    类型检查
    类型检查也是一项让代码更简洁的技巧。一个小的类型检查可以节省几行代码,有些时候,还可以为你的参数提供更多的灵活性。
    在这个例子里,我们可以在一行里面检查参数类型,所以我们不需要处处都写 if-else 语句。这里的参数有多种可能,可以是一个 Team 实例,也可以是一个整数。
    重构长 If 语句
    有时候,在执行动作之前我们需要做一些条件检查。但是,随着我们的应用的持续增长,if 语句会变得越来越长。所以,我们需要考虑重构。一个小例子:
    注意,第一个例子运行方式与第二个有一些不同。第一个例子中,只要有一个条件为真,则后面的条件就会被忽略,在一些情况下,它会更快。谢谢 Zois Pag 的建议。
php语言处理什么的
    这两个例子的结果是一样的,但是第二个更整洁。我们可以不再使用 || 操作符,并且只引用了 $a 变量一次。
    去掉不必要的 if 语句
    一个普遍的错误,我们会经常性的过度使用 if-else 语句。当然,有些时候它是不可省略的,但也有些情况,我们不需要用到它。
    但是逻辑颠倒了怎么办? 那么, 如果条件是true我们又想返回 false 该怎么办? 当然,在 if 语句中,我们仅需要相反的 true 和 false ,但是在重构的版本中,我们会有一个相对轻松的工作。只需要在你验真假的时候加上 ! 运算符。它将返回颠倒后的结果。
    总结
    每天我们都能发现一些充满了过度复杂逻辑的方案和代码,长期来看,这对开发者和产品本身都不好。上文中,我们只是尝试搜集了一些例子,在这些例子里,你只需做出一点小的努力,就可以让你的代码变得更好更简洁。
  【怎么使php语言变得简洁】

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。