protected function real_uploaded_filename($name, $data, $file) { if (Core_Types::is_string($file)) { $file = array('name' => $file); } $path = parent::real_uploaded_filename($name, $data, $file); return $this->last_upload_files[] = $path; }
/** * Возвращает reflection для заданного объекта или класса * * @param $object * * @return mixed */ public static function reflection_for($object) { if (Core_Types::is_string($object)) { return new ReflectionClass(self::real_class_name_for($object)); } if (Core_Types::is_object($object)) { return new ReflectionObject($object); } throw new Core_InvalidArgumentTypeException('object', $object); }
/** * Возвращает все строки результата * * @params string|array|ArrayAccess $prototype Прототип объекта записи или имя класса такого объекта * @params mixed $key свойство объекта $row * * @return mixed * @throws Core_InvalidArgumentTypeException Не верный $prototype */ public function fetch_all($prototype = null, $key = null) { switch (true) { case $prototype == null: $result = Core::make(DB::option('collection_class')); break; case Core_Types::is_string($prototype): $result = Core_Types::reflection_for($prototype)->newInstance(); break; case Core_Types::is_array($prototype): $result = $prototype; break; case $prototype instanceof ArrayAccess: $result = clone $prototype; break; default: throw new Core_InvalidArgumentTypeException('prototype', $prototype); } while ($row = $this->fetch()) { if (is_null($key) || !isset($row[$key])) { $result[] = $row; } else { $result[$row[$key]] = $row; } } return $result; }