60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /* vim: set expandtab tabstop=4 shiftwidth=4: */ | ||
|  | /** | ||
|  | * File containing the Net_LDAP2_SchemaCache interface class. | ||
|  | * | ||
|  | * PHP version 5 | ||
|  | * | ||
|  | * @category  Net | ||
|  | * @package   Net_LDAP2 | ||
|  | * @author    Benedikt Hallinger <beni@php.net> | ||
|  | * @copyright 2009 Benedikt Hallinger | ||
|  | * @license   http://www.gnu.org/licenses/lgpl-3.0.txt LGPLv3 | ||
|  | * @version   SVN: $Id: SchemaCache.interface.php 286718 2009-08-03 07:30:49Z beni $ | ||
|  | * @link      http://pear.php.net/package/Net_LDAP2/ | ||
|  | */ | ||
|  | 
 | ||
|  | /** | ||
|  | * Interface describing a custom schema cache object | ||
|  | * | ||
|  | * To implement a custom schema cache, one must implement this interface and | ||
|  | * pass the instanciated object to Net_LDAP2s registerSchemaCache() method. | ||
|  | */ | ||
|  | interface Net_LDAP2_SchemaCache | ||
|  | { | ||
|  |     /** | ||
|  |     * Return the schema object from the cache | ||
|  |     * | ||
|  |     * Net_LDAP2 will consider anything returned invalid, except | ||
|  |     * a valid Net_LDAP2_Schema object. | ||
|  |     * In case you return a Net_LDAP2_Error, this error will be routed | ||
|  |     * to the return of the $ldap->schema() call. | ||
|  |     * If you return something else, Net_LDAP2 will | ||
|  |     * fetch a fresh Schema object from the LDAP server. | ||
|  |     * | ||
|  |     * You may want to implement a cache aging mechanism here too. | ||
|  |     * | ||
|  |     * @return Net_LDAP2_Schema|Net_LDAP2_Error|false | ||
|  |     */ | ||
|  |     public function loadSchema(); | ||
|  | 
 | ||
|  |     /** | ||
|  |     * Store a schema object in the cache | ||
|  |     * | ||
|  |     * This method will be called, if Net_LDAP2 has fetched a fresh | ||
|  |     * schema object from LDAP and wants to init or refresh the cache. | ||
|  |     * | ||
|  |     * In case of errors you may return a Net_LDAP2_Error which will | ||
|  |     * be routet to the client. | ||
|  |     * Note that doing this prevents, that the schema object fetched from LDAP | ||
|  |     * will be given back to the client, so only return errors if storing | ||
|  |     * of the cache is something crucial (e.g. for doing something else with it). | ||
|  |     * Normaly you dont want to give back errors in which case Net_LDAP2 needs to | ||
|  |     * fetch the schema once per script run and instead use the error | ||
|  |     * returned from loadSchema(). | ||
|  |     * | ||
|  |     * @return true|Net_LDAP2_Error | ||
|  |     */ | ||
|  |     public function storeSchema($schema); | ||
|  | } |