rendered paste body<?php
// ----------------------------------- \\
// @Zula Framework Registry
// @License: http://www.gnu.org/copyleft/gpl.html GNU/GPL 2
// @Author: Alex Cartwright
// @Created: 5th February 2007
// ----------------------------------- \\
class Registry {
private static $registered = array();
private static $_instance = null; # Registry class is a singleton
//---
// constructor function
//---
private function __construct() {
}
public static function get_instance() {
if ( is_null( self::$_instance ) ) {
self::$_instance = new self();
}
return self::$_instance;
}
//---
// register() will register a file/object within the framework
// so that modules and other classes can access other classes easily
// without the need for globals
// @param string $name
// @param object $object
// @return bool
//---
public static function register( $name, &$object ) {
if ( !is_object( $object ) || isset( self::$registered[ $name ] ) ) {
return false;
} else {
self::$registered[ $name ] = $object;
return true;
}
}
//---
// unregister() will remove a file/object from the registry
// @param string $name
// @return bool
//---
public static function unregister( $name ) {
if ( isset( self::$registered[ $name ] ) ) {
unset( self::$registered[ $name ] );
return true;
} else {
return false;
}
}
//---
// get() returns the requested object (if avaliable)
// @param string $name
// @return object || bool false
//---
public static function get( $name ) {
if ( self::has( $name ) ) {
return self::$registered[ $name ];
} else {
Log::message( '"'.$name.'" can not be loaded from the registry, entry does not exist', Log::L_WARNING );
return false;
}
}
//---
// has() checks if an object is in the registry
// @param string $name
// @return bool
//---
public static function has( $name ) {
if ( !isset( self::$registered[ $name ] ) ) {
return false;
} else {
return true;
}
}
//---
// registered() returns the registry array
// @return array
//---
public static function registered() {
return self::$registered;
}
}
?>