美文网首页LaravelPHP / Laravel / 全栈PHP开发者大本营
这几个编码小技巧将令你 PHP 代码更加简洁

这几个编码小技巧将令你 PHP 代码更加简洁

作者: summerbluet | 来源:发表于2018-03-20 09:22 被阅读20次
image.png

保持代码简洁和高可读性远远要比我们想象的要难,有时候甚至比持续架构设计都要难。这里收集了一些可能对你重构代码有用的 代码片段 供大家参考。

数组转化

我们常常需要在一个函数里面接受一个支持字符串或者数组类型数据的参数。可以使用适当的类型转化方式将字符串类型转化成数组类型,来取代类型检测。

// 没有类型转化
$param = is_array($param) ? $param : [$param];
array_map(function ($item) {
    //
}, $param);

// 使用类型转化
array_map(function ($item) {
    //
}, (array) $param);

当然这看起来没什么区别,只是节省了一行代码而已。但是你可以设想一下,当你使用复杂的循环结构或者嵌套数组处理大量数据时。这样做将会有意义,它能使代码保持简洁。

类型检测

类型检测也是一种让代码简洁的小技巧。一个小的类型检测可以为你节省几行代码,同时可以使参数具有一些灵活性。

public function scopeOfTeam($query, $team) {
    $team = $team instanceof Team ? $team->id : $team;

    return $query->where('team_id', $team);
}

在这个例子中,我们可以使用一个表达式在一行中进行类型检测,所以我们不需要到处使用 if-else 语句。同时这样函数就可以接收 Team 类型或 int 型两种类型的数据了。

重构长 If 语句

有时候,在执行动作之前我们需要做一些条件检查。但是,随着我们的应用的持续增长,if 语句会变得越来越长。所以,我们需要考虑重构。一个小例子:

// 与其这样
if ($a === 'val_1' || $a === 'val_2' || $a === 'val_3') {
    // 执行动作
}

// 不如这样
if (in_array($a, ['val_1', 'val_2', 'val_3'])) {
    // 执行方法
}

注意,第一个例子运行方式与第二个有一些不同。第一个例子中,只要有一个条件为真,则后面的条件就会被忽略,在一些情况下,它会更快。谢谢 Zois Pag 的建议。

这两个例子的结果是一样的,但是第二个更整洁。我们可以不再使用 || 操作符,并且只引用了 $a 变量一次。

去掉不必要的 if 语句

一个普遍的错误,我们会经常性的过度使用 if-else 语句。当然,有些时候它是不可省略的,但也有些情况,我们不需要用到它。

// 之前这样用
if ($a === 'b') {
    return true;
} else {
    return false;
}

// 现在可以这样
return $a === 'b';

但是逻辑颠倒了怎么办? 那么, 如果条件是 true 我们又想返回 false 该怎么办? 当然,在 if 语句中,我们仅需要相反的 true 和 false ,但是在重构的版本中,我们会有一个相对轻松的工作。只需要在你验真假的时候加上 ! 运算符。它将返回颠倒后的结果。

总结

每天我们都能发现一些充满了过度复杂逻辑的方案和代码,长期来看,这对开发者和产品本身都不好。上文中,我们只是尝试搜集了一些例子,在这些例子里,你只需做出一点小的努力,就可以让你的代码变得更好更简洁。

讨论请前往社区:https://laravel-china.org/topics/8863

相关文章

  • 这几个编码小技巧将令你 PHP 代码更加简洁

    保持代码简洁和高可读性远远要比我们想象的要难,有时候甚至比持续架构设计都要难。这里收集了一些可能对你重构代码有用的...

  • 2018-10-16encoding

    encoding 关于中文编码(gb) 这里有几个小技巧:一、在php中,字符编码是按所发送的编码为准的,因此使用...

  • 掌握11个技巧让你编写出更好的Python代码

    前言 在本教程中,我们将展示11个技巧来编写更好的Python代码!我们展示了许多最佳实践,它们通过使代码更加简洁...

  • Swift编程小技巧

    Swift中有很多有用的小技巧,用好了能使代码更加安全,简洁,易于理解或效率更加高效,在这记录一些编写swifty...

  • 提高代码执行效率的几个小技巧

    提高代码执行效率的几个小技巧 提高代码执行效率的几个小技巧

  • 常用javascript小技巧

    善于利用JS中的小技巧,不仅可以使代码更加简洁,而且逼格更高。 1.使用!!模拟Boolean()函数 原理:逻辑...

  • 带你入门Laravel 5.1

    前言: Laravel 是当下最火的 PHP 开发框架。它以编码风格优雅著称,每行代码都非常简洁,富有表达力,并且...

  • Swoole 源码分析——内存模块之共享内存

    前言 我们知道,由于 PHP 没有多线程模型,所以 swoole 更多的使用多进程模型,因此代码相对来说更加简洁,...

  • 编写更优雅的 JavaScript 代码

    代码技巧 优先 ES6 新特性写法 熟练使用 ES6 新特性可以优化代码,更加简洁,代码对比 优化逻辑判断语句 大...

  • WEB(实验吧)--PHP大法

    提示:注意备份文件访问index.php.txt将 分析代码知道:因为浏览器会自动解码,所以将hackerDJ编码...

网友评论

    本文标题:这几个编码小技巧将令你 PHP 代码更加简洁

    本文链接:https://www.haomeiwen.com/subject/xclvqftx.html