真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP編碼規(guī)范的案例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)PHP編碼規(guī)范的案例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比秀嶼網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式秀嶼網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋秀嶼地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

                                                       

在做過(guò)大量的代碼審查后,我經(jīng)??吹揭恍┲貜?fù)的錯(cuò)誤,以下是糾正這些錯(cuò)誤的方法。

一:在循環(huán)之前測(cè)試數(shù)組是否為空

$items = [];
// ...
if (count($items) > 0) {
    foreach ($items as $item) {
        // process on $item ...
    }
}

foreach 以及數(shù)組函數(shù) (array_*) 可以處理空數(shù)組。

  • 不需要先進(jìn)行測(cè)試
  • 可減少一層縮進(jìn)
$items = [];
// ...
foreach ($items as $item) {
    // process on $item ...
}

二:將代碼內(nèi)容封裝到一個(gè) if  語(yǔ)句匯總

function foo(User $user) {
    if (!$user->isDisabled()) {
        // ...
        // long process
        // ...
    }
}

這不是 PHP 特有的情況,不過(guò)我經(jīng)常碰到此類情況。你可以通過(guò)提前返回來(lái)減少縮進(jìn)。

所有主要方法處于第一個(gè)縮進(jìn)級(jí)別

function foo(User $user) {
    if ($user->isDisabled()) {
        return;
    }

    // ...
    // 其他代碼
    // ...
}

三:多次調(diào)用 isset 方法

你可能遇到以下情況:

$a = null;
$b = null;
$c = null;
// ...

if (!isset($a) || !isset($b) || !isset($c)) {
    throw new Exception("undefined variable");
}

// 或者

if (isset($a) && isset($b) && isset($c) {
    // process with $a, $b et $c
}

// 或者

$items = [];
//...
if (isset($items['user']) && isset($items['user']['id']) {
    // process with $items['user']['id']
}

我們經(jīng)常需要檢查變量是否已定義,php 提供了 isset 函數(shù)可以用于檢測(cè)該變量,而且該函數(shù)可以一次接受多個(gè)參數(shù),所以一下代碼可能更好:

$a = null;
$b = null;
$c = null;
// ...

if (!isset($a, $b, $c)) {
    throw new Exception("undefined variable");
}

// 或者

if (isset($a, $b, $c)) {
    // process with $a, $b et $c
}

// 或者

$items = [];
//...
if (isset($items['user'], $items['user']['id'])) {
    // process with $items['user']['id']
}

四:echo和sprintf方法一起使用

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

這段代碼可能在微笑,但是我碰巧寫了一段時(shí)間。而且我仍然看到很多!不用結(jié)合echosprintf,我們可以簡(jiǎn)單地使用printf方法。

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

五:通過(guò)組合兩種方法檢查數(shù)組中是否存在鍵

$items = [
    'one_key' => 'John',
    'search_key' => 'Jane',
];

if (in_array('search_key', array_keys($items))) {
    // process
}

我經(jīng)常看到的最后一個(gè)錯(cuò)誤是in_arrayarray_keys的聯(lián)合使用。所有這些都可以使用array_key_exists替換。

$items = [
    'one_key' => 'John',
    'search_key' => 'Jane',
];

if (array_key_exists('search_key', $items)) {
    // process
}

我們還可以使用isset來(lái)檢查值是否不是null。

if (isset($items['search_key'])) {
    // process
}

關(guān)于PHP編碼規(guī)范的案例分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文題目:PHP編碼規(guī)范的案例分析-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/cosgpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部