PHP 小技巧

收集關於PHP的小技巧

重構長 If 語句

1
2
3
4
5
6
7
8
9
// Good
if (in_array($a, ['val_1', 'val_2', 'val_3'])) {
// 執行方法
}

// Bad
if ($a === 'val_1' || $a === 'val_2' || $a === 'val_3') {
// 執行動作
}

輸出陣列變數

1
2
3
4
5
// Good
echo "Hello {$user['name']}, welcome!":

// Bad
echo "Hello ".$user['name'].", welcome!":

簡潔轉數字的方法

1
2
3
4
5
6
7
8
9
10
11
echo +true;      //1
echo +false; //0
echo +0; //0
echo +(-1); //-1
echo +1; //1
echo +(100); //100
echo +(001); //1
echo +'001'; //1
echo +null; //0
echo +'abc'; //0
echo +("bcd"); //0

類型檢查

1
2
3
4
5
6
public function scopeOfTeam($query, $team)
{
$team = $team instanceof Team ? $team->id : $team;

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

類型檢查也是一項讓代碼更簡潔的技巧。一個小的類型檢查可以節省幾行代碼,有些時候,還可以為你的參數提供更多的靈活性。

在這個例子裡,我們可以在一行裡面檢查參數類型,所以我們不需要處處都寫 if-else 語句。這裡的參數有多種可能,可以是一個 Team 實例,也可以是一個整數。