/** * @param string $name $_FILES内のフィールド名 * @return Upload */ public static function get($name) { $file = Arr::get($_FILES, $name); if (!self::validFile($file)) { return; } return new self($file); }
/** * @covers \CodeLapse\Arr::set */ public function testSet() { $arr = array(); $expected = 'value'; Arr::set($arr, 'key', $expected); $this->assertEquals($arr['key'], $expected, 'setテスト'); $expected = 'value'; Arr::set($arr, 'key.deep', $expected); $this->assertTrue(isset($arr['key']['deep']), '多次元配列の値設定テスト'); $this->assertEquals(Arr::get($arr, 'key.deep'), $expected, '多次元配列の値設定テスト'); }
private function executeHandler() { $method = Input::method(); $handler = Arr::get($this->handlers, $method); $response = null; if (is_callable($handler)) { $response = $handler(); } else { $handler = $this->unsupportedHandler; if (is_callable($handler)) { $response = $this->unsupportedHandler(); } } if (!empty($response)) { return $this->processResponse($response); } }
/** * 指定した接続のコネクションインスタンスを取得します。 * * 既存のコネクション、もしくは接続設定ファイルからコネクションを生成します。<br> * <br> * 接続設定は config/db.phpの設定を参照します。<br> * Configクラスを利用して、"db"名前空間に接続設定を読み込んでください。<br> * * @param string|null $connectionName (オプション) 取得する接続名 * @throws OutOfBoundsException * dbconfig.phpに記述されていないコネクション名が指定された時にスローされます。 */ public static function instance($connectionName = null) { !is_string($connectionName) and $connectionName = self::DEFAULT_CONNECTION_NAME; if (array_key_exists($connectionName, self::$_connections)) { return self::$_connections[$connectionName]; } $config = Config::get('db', array()); if (array_key_exists($connectionName, $config) === false) { // 接続設定に指定されたコネクション用の設定がなければ、例外を投げる throw new OutOfBoundsException('定義されていないコネクションが要求されました。(接続名: ' . $connectionName . ')'); } // 新しいコネクションを生成する $conf = $config[$connectionName]; if ($conf === null) { throw new OutOfBoundsException('定義されていないコネクションが要求されました。(接続名: ' . $connectionName . ')'); } $host = Arr::get($conf, 'host'); $user = Arr::get($conf, 'user'); $pass = Arr::get($conf, 'password'); $dbname = Arr::get($conf, 'database'); $charset = Arr::get($conf, 'charset'); $con = self::connect($host, $user, $pass, false, $connectionName); !empty($dbname) and $con->useDB($dbname); !empty($charset) and $con->setCharset($charset); return $con; }
/** * $_SERVER変数の値を取得します。 * * @param string|null $key (optional) 取得する属性名 * @param mixed|null $default (optional)パラメータが存在しない時のデフォルト値 * @return mixed */ public static function server($key = null, $default = null) { return Arr::get($_SERVER, $key, $default); }
/** * フィールドに対する検証ルールを設定します。 * @param string $fieldName 検証するフィールド名 * @param array $rules 検証ルールのリスト * @return $this */ public function rule($fieldName, array $rules) { $fieldLabelPair = explode(':', $fieldName, 2); $field = $fieldLabelPair[0]; $label = Arr::get($fieldLabelPair, '1', $field); $this->fieldSet[$field] = ['label' => $label, 'rules' => $rules]; return $this; }
/** * 渡された配列が連想配列か調べます * @param array $array 調べる配列 * @param string? $key (Optional) 調べる要素 * @return bool */ public static function isAssoc(array &$array, $key = null) { $input = $array; if ($key !== null) { $input = Arr::get($input, $key); } if (!is_array($input)) { return false; } // from FuelPHP Arr::is_assoc $counter = 0; foreach ($input as $key => $unused) { if (!is_int($key) or $key !== $counter++) { return true; } } return false; }