$trimmed = preg_replace('/(^\\/|\\/$)/', '', $uri); $splited = empty($trimmed) ? array() : explode('/', $trimmed); return array_map('self::splitMapper', $splited); } /** * 配列からカンマ区切り文字列を探し、分割するためのコールバックです。 * * @param string $item 分割対象文字列。 * @return mixed 分割された配列。分割不能な場合、引数をそのまま返します。 * @SuppressWarnings(PHPMD) */ private static function splitMapper($item) { $result = explode(',', $item); return count($result) === 1 ? $result[0] : $result; } /** * 環境変数から基底パスを抽出・取得します。 * * @param array $params 環境変数値を格納した連想配列。 * @return string 基底パス文字列。環境変数から取得できなかった場合、"."。 */ private static function getBasePathFromEnvironment(array $params) { $path = isset($params[self::PHP_PATH]) ? $params[self::PHP_PATH] : ''; $info = pathinfo($path); return isset($info['dirname']) ? $info['dirname'] : '.'; } } Environment::initialize();