PHP Classes

File: example/examples_wild.php

Recommend this page to a friend!
  Classes of Thomas Björk   ObjectManager   example/examples_wild.php   Download  
File: example/examples_wild.php
Role: Example script
Content type: text/plain
Description: Example with many of the features of ObjectManager
Class: ObjectManager
Manage the creation of objects by class name
Author: By
Last change: Update of example/examples_wild.php
Date: 2 months ago
Size: 2,233 bytes
 

Contents

Class file image Download
<?php
// Include ObjectManager
include_once('../objectmanager.php');

/*
 * Simple test class to demonstrate usage of ObjectManager
 */
class Test {
  function
__construct() {
    echo
"Creating test".PHP_EOL;
  }
 
  function
Hello() {
    echo
"Hello, world!".PHP_EOL;
  }
}

// Create instance of ObjectManager
$om = new ObjectManager();

// Get instance of class Test by using normal call
$o = $om->Instance('Test');
$o->Hello();

// Get a named instance of class Test by using normal call
// $o2 is not the same object as $o
$o2 = $om->Instance('Test2', 'Test');
$o2->Hello();

// Reuse the object called Test2
$o3 = $om->Instance('Test2'); // This doesn't generate any call to the constructor of Test
$o3->Hello();

// Reset the named instance called Test (which was the first instance created)
$om->Instance('Test', false);

// By getting the instance called Test once again the constructor is called
$o4 = $om->Instance('Test');
$o4->Hello();

// Replace the named object Test2 with a new instance
$o5 = $om->Instance('Test2', 'Test', true);
$o5->Hello();

// Recreate the named instance called Test by using then name as an object variable
$om->Test = true;

// Reset the named instance called Test by using then name as an object variable
$om->Test = false;

// Get the named instance called Test by using the name as an object variable
$o6 = $om->Test;
$o6->Hello();

// Get the named instance called Test by using ObjectManager as an array
$o7 = $om['Test'];
$o7->Hello();

// Recreate the named instance called Test by using ObjectManager as an array
$om['Test'] = true;

// Get the named instace called Test2 by using ObjectManager statically
$o8 = ObjectManager::Instance('Test2');
$o8->Hello();

// Get the named instace called Test2 by using instance of ObjectManager statically
$o9 = $om::Instance('Test2');
$o9->Hello();

// Reset the named instance called Test2 by using ObjectManager as an array and unset
unset($om['Test2']);
 
// Get the named instace called Test2 by using instance of ObjectManager statically
$o10 = $om::Instance('Test2'); // returns null since a class named Test2 couldn't be found
echo serialize($o10).PHP_EOL;
?>