Esempio n. 1
0
 /**
  * This method storages an element in the registry under the passed key.
  *
  * @param string $variable   The variable (class, object) to store
  * @param string $identifier The identifier for the stored object, class ...
  *                           If not passed a UUID is calculated and returned
  *
  * @author Benjamin Carl <*****@*****.**>
  *
  * @return string The identifier for reading the stored variable
  */
 public function set(&$variable, $identifier = null)
 {
     // Generate identifier if not passed
     if (null === $identifier) {
         $identifier = sha1(serialize($variable));
     }
     // store the variable as reference
     self::$references[] = $variable;
     $index = count(self::$references) - 1;
     self::$lookup[$identifier] = $index;
     self::$reverseLookup[$index] = $identifier;
     // store count of elements
     self::$count = $index + 1;
     // return identifier for outer use
     return $identifier;
 }