如何避免常见的5个PHP编码陋习并优化代码实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计700个文字,预计阅读时间需要3分钟。
在完成大量代码审查后,我常遇到一些重复的错误。以下是纠正这些错误的方法。
在循环前测试数组是否为空:php$items=[];// ...if (count($items) > 0) { foreach ($items as $item) { // process on $item }}
在做过大量的代码审查后,我经常看到一些重复的错误,以下是纠正这些错误的方法。
在循环之前测试数组是否为空
$items = []; // ... if (count($items) > 0) { foreach ($items as $item) { // process on $item ... } }
foreach 以及数组函数 (array_*) 可以处理空数组。
不需要先进行测试可减少一层缩进
$items = []; // ... foreach ($items as $item) { // process on $item ... }
将代码内容封装到一个 if 语句汇总
function foo(User $user) { if (!$user->isDisabled()) { // ... // long process // ... } }
这不是 PHP 特有的情况,不过我经常碰到此类情况。你可以通过提前返回来减少缩进。
本文共计700个文字,预计阅读时间需要3分钟。
在完成大量代码审查后,我常遇到一些重复的错误。以下是纠正这些错误的方法。
在循环前测试数组是否为空:php$items=[];// ...if (count($items) > 0) { foreach ($items as $item) { // process on $item }}
在做过大量的代码审查后,我经常看到一些重复的错误,以下是纠正这些错误的方法。
在循环之前测试数组是否为空
$items = []; // ... if (count($items) > 0) { foreach ($items as $item) { // process on $item ... } }
foreach 以及数组函数 (array_*) 可以处理空数组。
不需要先进行测试可减少一层缩进
$items = []; // ... foreach ($items as $item) { // process on $item ... }
将代码内容封装到一个 if 语句汇总
function foo(User $user) { if (!$user->isDisabled()) { // ... // long process // ... } }
这不是 PHP 特有的情况,不过我经常碰到此类情况。你可以通过提前返回来减少缩进。

