Example #1
0
 /**
  * Gets URI parameter as an object
  *
  * Object is of class $parameter name, and is read from current data link using the parameter
  * value as identifier.
  *
  * @param $parameter_name string
  * @return object
  */
 public function getObject($parameter_name)
 {
     if (isset($this->objects[$parameter_name])) {
         // parameter is in cache
         $object = $this->objects[$parameter_name];
     } elseif (is_numeric($this->getRawParameter($parameter_name))) {
         if (isset($parameter_name[0]) && ctype_upper($parameter_name[0])) {
             $class_name = $parameter_name;
         }
         if (isset($class_name) && @class_exists($class_name)) {
             // object parameter
             $object = $this->getRawParameter($parameter_name) + 0;
             Mapper\Getter::getObject($object, $class_name);
             $this->objects[$parameter_name] = $object;
         } else {
             // free parameter
             $object = $this->getRawParameter($parameter_name);
             $this->objects[$parameter_name] = $object;
         }
     } else {
         // text parameter
         $object = $this->getRawParameter($parameter_name);
         if (is_string($object) && $object && $object[0] === SL) {
             $object = new Uri($object);
         }
         $this->objects[$parameter_name] = $object;
     }
     if (empty($object)) {
         $built_parameter_name = Builder::className($parameter_name);
         if ($built_parameter_name != $parameter_name) {
             return $this->getObject(Builder::className($parameter_name));
         }
     }
     return $object;
 }
Example #2
0
 /**
  * @return object
  */
 public function getObject()
 {
     Getter::getObject($this->object, $this->class_name);
     return $this->object;
 }