Location: PHPKode > scripts > Data Registry > Data_Registry.txt
=============================================================
MANUAL
=============================================================

Install:

	Copy Data_Registry.php to a plugin/library directory as you desire.
	Include file Data_Registry.php in your index.php or in your config file.
	
	Enable sessions in your php.ini file.
	If you use cookies or files, it will work as is.
	Optional: To see examples, copy dr_examples.php and dr_testclass.php in your web base directory 

Change default values (:

	Set Storage Method to Files (by default, Session):
	
		Data_Registry::init()->setStorageType('Files',"/tmp/DRFiles",3600);
		// /tmp/DRFiles is the directory to store namespaces, must to exists
		// 3600 is TTL (time to live) - expiration time
		
	Enable global persistence (by default is disabled):
	
		Data_Registry::setPersistence(TRUE,TRUE);	
		
	Set SESSION varname (by default is 'Data_Registry'):
	
		Data_Registry::setSessionName('SESSIONNAMEVAR');
		// SESSIONAMEVAR - Your desired session name var, as you have in your session handler
		
Set a value:

	Data_Registry::init('NAMESPACE')->set('VAR','VALUE'); 
	// Namespace can be any string;
	// VAR is the varname to store
	// VALUE is the value to store, can be string/integer/array/object
 
Get a value:

	Data_Registry::init('NAMESPACE')->get('VAR'); 
	// Namespace can be any string;
	// VAR is the varname to get from store
	// RETURNS value or FALSE

Set a key to a value:

	Data_Registry::init('NAMESPACE')->setKey('VAR','KEY','VALUE'); 
	// Namespace can be any string;
	// VAR is the varname to store
	// KEY is the varname index to store
	// VALUE is the value to store, can be string/integer/array/object

Get a key from a varname stored:

	Data_Registry::init('NAMESPACE')->getKey('VAR','KEY'); 
	// Namespace can be any string;
	// VAR is the varname to store
	// KEY is the varname index to store
	// RETURNS value or FALSE

Add a key value:

	Data_Registry::init('NAMESPACE')->add('VAR','VALUE'); 
	// Namespace can be any string;
	// VAR is the varname to store
	// VALUE is the value to store, can be string/integer/array/object
	// VALUE is added in a array sequence to VAR
	
Test a value:

	Data_Registry::init('NAMESPACE')->test('VAR'); 
	// Namespace can be any string;
	// VAR is the varname to test
	// RETURN boolean TRUE=exists, FALSE=not exists

Test a key value:

	Data_Registry::init('NAMESPACE')->testKey('VAR','KEY'); 
	// Namespace can be any string;
	// VAR is the varname to test
	// KEY is the key to test
	// RETURN boolean TRUE=exists, FALSE=not exists

Enable global persistence for all namespaces:

	Data_Registry::setPersistence(TRUE,TRUE);
	
Disable global persistence for all namespaces:

	Data_Registry::setPersistence(FALSE,TRUE);
	
Enable persistence for a namespace (when global persistence is disabled):

	Data_Registry::init('NAMESPACE')->setPersistence(TRUE);

Disable persistence for a namespace (when global persistence is disabled):

	Data_Registry::init('NAMESPACE')->setPersistence(TRUE);
	
Get all data from a namespace:

	Data_Registry::init('NAMESPACE')->getNameSpace();
	// RETURNS an array 
	
Get all data from all namespaces:
	
	Data_Registry::getAllNameSpaces();
	// RETURNS an array
	
Clear (unset) a var from namespace:

	Data_Registry::init('NAMESPACE')->clear('VAR');
	// VAR is the varname to clear (unset)
	// RETURNS TRUE (successfull) or FALSE (unsuccessfull)

Clear (unset) a namespace:

	Data_Registry::init('NAMESPACE')->clearNameSpace();
	// VAR is the varname to clear (unset)
	// RETURNS TRUE (successfull) or FALSE (unsuccessfull)

Get a value from var and remove it (similar to flash data):

	Data_Registry::init('NAMESPACE')->getFlash('VAR'); 
	// Namespace can be any string;
	// VAR is the varname to get from store
	// RETURNS value or FALSE

Get a key from a varname stored and remove it:

	Data_Registry::init('NAMESPACE')->getFlashKey('VAR','KEY'); 
	// Namespace can be any string;
	// VAR is the varname to store
	// KEY is the varname index to store
	// RETURNS value or FALSE
	
If global persistence is enabled, all namespaces are loaded automaticly,
but you can get a namespace from SESSION manualy, or override it at any moment:

	Data_Registry::init('NAMESPACE')->restoreNameSpace();
	// Namespace can be any string;

If global persistence is disabled, you can force to save a namespace:

	Data_Registry::init('NAMESPACE')->backupNameSpace();
	// Namespace can be any string;

Delete a SESSION namespace:

	Data_Registry::init('NAMESPACE')->backupNameSpace(FALSE);
	// Namespace can be any string;

Concatenate commands:

	Data_Registry::init('NAMESPACE')->set('VAR','VALUE')->backupNameSpace();
	Data_Registry::init('NAMESPACE')->set('VAR','VALUE')->setPersistence(TRUE)->backupNameSpace();
	Data_Registry::init('NAMESPACE')->set('VAR1','VALUE1')->set('VAR2','VALUE2');
	// Namespace can be any string;

Resusable classes:

	Data_Registry::init('NAMESPACE')->getClass('Classname');
	// Namespace can be any string;
	// Returns the class pointer
	
	Also, can use directlly objects inside a class:
	
	Data_Registry::init('NAMESPACE')->getClass('Classname')->get('field');
	// Namespace can be any string;
	// All classes must to be included before dataStorage call, and if you want persistence with this class, 
	// class file must to be loaded before 'session_start()' command.
	 
List vars stored

	Data_Registry::init('NAMESPACE')->listVars();
	// Namespace can be any string;
	// Returns an array with information about the vars stored on current specified namespace

List all vars stored

	Data_Registry::init()->listAllVars();
	// Returns an array with information about the vars stored on all namespaces
	
Save a spacifc namespace for caching purpouses, all users can access it:

	Data_Registry::init('FILECACHING')->set(md5("Data_Registry.php"),file_get_contents('Data_Registry.php'))->saveNameSpaceFile("/tmp/DRFiles");

Retrive a spacific namespace for caching purpouses:

	Data_Registry::init('FILECACHING')->loadNameSpaceFile("/tmp/DRFiles")->get(md5("Data_Registry.php"));
	
			
Return current item: Data Registry