123456789101112131415161718192021222324252627282930313233343536373839 |
- <?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 );
- ?>
|