Viewing file: tutorial_lazy_initialization.php (914 B) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php require_once 'tutorial_autoload.php';
// Create a custom class implementing the singleton pattern class customSingleton { protected static $instance;
public static function getInstance() { if ( self::$instance === null ) { self::$instance = new customSingleton(); ezcBaseInit::fetchConfig( 'customKey', self::$instance ); }
return self::$instance; } }
// Implement your configuration class class customSingletonConfiguration implements ezcBaseConfigurationInitializer { public static function configureObject( $object ) { echo "Configure customSingleton.\n"; $object->value = 42; } }
// Register for lazy initilization ezcBaseInit::setCallback( 'customKey', 'customSingletonConfiguration' );
// Configure on first initilization $object = customSingleton::getInstance(); var_dump( $object->value );
?>
|