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

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

【相关学习推荐:php图文教程

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

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

$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->isDisafunction foo(User $user) {    if (!$user->isDisabled()) {        // ...
        // long process
        // ...
    }
}bled()) {        // ...
        // long process
        // ...
    }
}复制代码

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

function foo(User $user) {    if ($user->isDisabled()) {        return;
    }    // ...
    // long process
    // ...}复制代码

多次调用isset方法

$a = null;
$b = null;
$c = null;// ...if (!isset($a) || !isset($b) || !isset($c)) {    throw new Exception("undefined variable");
}// orif (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函数来做到这一点。而且该函数一次可以接受多个参数!

$a = null;
$b = null;
$c = null;// ...if (!isset($a, $b, $c)) {    throw new Exception("undefined variable");
}// orif (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结合使用

$name = "John Doe";echo sprintf('Bonjour %s', $name);复制代码

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

$name = "John Doe";
printf('Bonjour %s', $name);复制代码

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

$items = [    'one_key' => 'John',    'search_key' => 'Jane',
];if (in_array('search_key', array_keys($items))) {    // process}复制代码

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

$items = [    'one_key' => 'John',    'search_key' => 'Jane',
];if (array_key_exists('search_key', $items)) {    // process}复制代码

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

if (isset($items['search_key'])) {    // process}复制代码

感谢您的阅读,如果对您有帮助,欢迎关注"CRMEB"掘金号。码云上有我们开源的商城项目,知识付费项目,均是基于PHP开发,学习研究欢迎使用,关注我们保持联系!

关于一定要改掉 这5个PHP编程中的不良习惯!的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/41677.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2022年6月21日 22:42
下一篇 2022年6月21日 22:42

相关推荐

  • PHP中的最佳ORM框架。

    随着Web应用程序的不断增长和复杂性的提高,数据访问层也变得越来越重要。ORM(Object Relational Mapping)框架已经成为现代Web应用程序的必备工具之一。ORM框架帮助开发者将数据存储和查询的复杂性抽象化,使得开发…

    2023年5月28日
    03
  • 今日分享php网站怎么搭建环境配置,PHP网站搭建环境。

    搭建PHP网站环境配置可以分为以下几个步骤: 1. 安装Web服务器:首先需要选择一个合适的Web服务器来托管你的PHP网站,常见的Web服务器有Apache和Nginx,这里以Apache为例进行介绍。 2. 安装PHP解释器:PHP是一种脚…

    2024年6月28日
    06
  • PHP可变变量的理解

    可变变量 所谓可变变量,就是一个变量的名,又是一个变量。 可变变量的语法是php的很特殊的语法——其他语言中少见。 $v1 = “abc”;          //这是一个字符串变量,其内容是字符串“abc” $abc = 10;             //这…

    2017年11月6日
    0460
  • Redis在PHP应用中的集群监控。

    Redis是一种基于内存的开源数据结构存储系统,广泛用于缓存、消息队列、任务分发等场景。在PHP应用中,Redis常常扮演着重要的角色。随着业务的不断扩展,Redis集群的规模也会逐渐增大,如何进行有效的监控是保障应…

    2023年5月21日
    02
  • PHP实现MySQL数据库负载均衡的方法。

    在高并发的情况下,单个服务器无法承受所有的请求,因此需要将请求分散到不同的服务器上进行处理,这就是负载均衡的概念。MySQL作为一种常用的数据库管理系统,也需要负载均衡来提高其性能和可靠性。本文将介绍如何…

    2023年5月21日
    09
  • 如何在PHP-Slim框架中使用CORS跨域请求。

    在Web开发中,跨域请求是一个常见的问题。这是因为浏览器对于不同域名之间的请求有严格的限制。例如,网站A的前端代码无法直接向网站B的API发送请求,除非网站B允许跨域请求。为了解决这个问题,出现了CORS(跨域资…

    2023年6月3日
    04
  • 详解使用php-imap查询操作邮件收件箱

    本篇文章带大家介绍使用php-imap查询操作邮件收件箱。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。使用php-imap查询操作邮件收件箱最近在业务场景里有接收解析用户主动发送的邮件,使用php-i…

    2023年3月29日
    02
  • 如何使用PHP打造高性能的直播功能。

    随着网络技术和移动设备的不断发展,直播已成为一种流行的方式来分享和传播信息。而PHP被广泛应用于Web编程,也能用来实现高性能的直播功能。本文将介绍如何使用PHP打造高性能的直播功能。选择合适的PHP框架选择一…

    2023年5月23日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息