Beispiel #1
0
 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;
 }
Beispiel #2
0
 /**
  * Возвращает 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);
 }
Beispiel #3
0
 /**
  * Возвращает все строки результата
  *
  * @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;
 }