配列操作class Arr

Arrクラスは安全な配列操作を行うための関数です。

以下のコードを見てみましょう。$newMemberNameの初期化式が非常に長くなっています。

<?php
// WebAPIからグループ情報を取得し、あるグループに最近入ったユーザーの名前を表示する
$groupId = Req::post('groupId');
$reqUrl = 'http://someapi-provider.com/group_info/' . $groupId;

$rawResponse = file_load_contents($reqUrl);
$res = json_decode($rawResponse);

// とてもながい
$newMemberName = isset($res['newestMember'][0]['name']) ? $res['newestMember'][0]['name'] : null;

if ($newestMember !== null) {
    // メンバー名を表示
    printf('最近ジョインしたメンバー: %s', $newMemberName);
}

$newMemberNameの初期化式はArr::getメソッドを利用すれば短く書くことが出来ます

$newMemberName = Arr::get($res, 'newestMember.0.name');

この例ではWebAPIの結果を利用しましたが、このようなパターンは$_POST変数などから値を取り出す場合にも有効です。

// 長い
$userId = isset($_POST['user_id']) ? $_POST['user_id'] : false;

// 短い
$userId = Arr::get($_POST, 'user_id', false);

// この場合、CodeLapseでは`Req::post`メソッドの方が最適です。
$userId = Req::post('user_id', false);