Lim_Registry – PHP Lazy Registry Class

Lim_Registry is a PHP Registry class met ondersteuning voor “lazy loading”. In dat geval wordt er pas een instantie van een class aangemaakt, wanneer deze uit het register wordt opgehaald. Hetzelfde geldt eventueel voor een callback functie.

Hoe werkt het?

// set
Registry::set('site_title', 'My Site Title');
Registry::setLazyClass('db', 'DBConnection');
Registry::setLazyCallback('avg', 'getAverage');

// get
$value = Registry::get('site_title');

// is loaded (and not in lazy state)
$loaded = Registry::isLoaded('db');

// exists?
$exists = Registry::has('site_title');

// remove
Registry::remove('site_title');

Voorbeeld “by reference”

// set by ref
$arr = array('One', 'Two', 'Three');
Registry::setByRef('numbers', $arr);

// get by ref
$ref = & Registry::getByRef('numbers');

arr[0] = 'Ten'; // -> $ref[0] === 'Ten'

API

Static methods

  • Registry::getInstance()
  • Registry::defaultOverwrite( $overwrite = null )
  • Registry::throwExceptions( $throwExceptions = null )
  • Registry::set( $key, $value, $overwrite = null )
  • Registry::setByRef( $key, & $value )
  • Registry::setLazyClass( $key, $class, $args = array(), $overwrite = null )
  • Registry::setLazyCallback( $key, $callback, $args = array(), $overwrite = null )
  • Registry::get( $key, $reload = false )
  • Registry::getByRef( $key )
  • Registry::has( $key )
  • Registry::isLoaded( $key )
  • Registry::remove( $key )
  • Registry::clear()

Downloaden

Je kan de laatste versie downloaden van Github.