PHP编程一定要改掉的5个不良习惯

吾爱主题 阅读:118 2021-10-27 13:32:00 评论:0

这5个PHP编程中的不良习惯,一定要改掉 PHP世界上最好的语言!

测试循环前数组是否为空?

?
1 2 3 4 5 $items = []; // ... if ( count ( $items ) > 0) {   foreach ( $items as $item ) {  // process on $item ...   }}

foreach循环或数组函数(array_*)可以处理空数组。

  • 不需要先进行测试
  • 可以减少一层缩进
?
1 2 3 4 $items = []; // ... foreach ( $items as $item ) { // process on $item ... }

将方法的所有内容封装在if语句中

?
1 2 3 4 5 6 7 8 9 10 11 12 13 function foo(User $user ) {   if (! $user ->isDisafunction foo(User $user ) {   if (! $user ->isDisabled()) {    // ...    // long process    // ...   } }bled()) {    // ...    // long process    // ...   } }

这不是特定于PHP的,但我经常看到它。你可以通过提前返回,来减少缩进级别的极简代码! 该函数的所有“有用”主体现在处于第一个缩进级别

?
1 2 3 4 5 6 7 function foo(User $user ) {   if ( $user ->isDisabled()) {    return ;   } // ...   // long process   // ... }

多次调用isset方法

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $a = null; $b = null; $c = null; // ...   if (!isset( $a ) || !isset( $b ) || !isset( $c )) {   throw new Exception( "undefined variable" ); }   // or   if (isset( $a ) && isset( $b ) && isset( $c ) {   // process with $a, $b et $c }   // or   $items = []; //... if (isset( $items [ 'user' ]) && isset( $items [ 'user' ][ 'id' ]) {   // process with $items['user']['id'] }

我们经常需要检查是否已定义变量(而不是null)。 在PHP中,我们可以使用isset函数来做到这一点。而且该函数一次可以接受多个参数!

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $a = null; $b = null; $c = null; // ...   if (!isset( $a , $b , $c )) {   throw new Exception( "undefined variable" ); }   // or   if (isset( $a , $b , $c )) {   // process with $a, $b et $c }   // or   $items = []; //... if (isset( $items [ 'user' ], $items [ 'user' ][ 'id' ])) {   // process with $items['user']['id'] }

echo方法和sprintf结合使用

?
1 2 $name = "John Doe" ; echo sprintf( 'Bonjour %s' , $name );

这段代码可能在微笑,但是我碰巧写了一段时间。而且我仍然看到很多!除了结合echosprintf,我们可以简单地使用printf方法。

?
1 2 $name = "John Doe" ; printf( 'Bonjour %s' , $name );

通过组合两种方法检查数组中键的存在

?
1 2 3 4 5 6 $items = [   'one_key' => 'John' ,   'search_key' => 'Jane' , ]; if (in_array( 'search_key' , array_keys ( $items ))) {   // process }

最后一个错误我看到的往往是联合使用in_arrayarray_keys。所有这些都可以使用array_key_exists替换。

?
1 2 3 4 5 6 $items = [   'one_key' => 'John' ,   'search_key' => 'Jane' , ]; if ( array_key_exists ( 'search_key' , $items )) {   // process }

我们还可以使用isset来检查值是否是null。

?
1 2 3 if (isset( $items [ 'search_key' ])) {   // process }

以上就是PHP编程一定要改掉的5个不良习惯的详细内容,更多关于php 不良习惯的资料请关注服务器之家其它相关文章!

原文链接:https://juejin.im/post/6872242391140155400?utm_source=tuicool&utm_medium=referral

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容