Example #1
0
<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);
use Ovo\Container\AnnotationContainer;
//OVO-CONTAINER Framework
require_once '../../src/Ovo/Container/OvoLoader.php';
//create the DI container
$container = new AnnotationContainer('../src', '../config/property.ini');
//timer
$time = new Ovo\Test\Utility\Timer();
$time->start();
//get SimpleRandom as prototype
$prototype = $container->getBean('prototypeSimpleRandom');
$prototypeSecond = $container->getBean('prototypeSimpleRandom');
echo '(PROTOTYPE) ID INSTANCE: ' . $prototype->getRandomId() . ' - ID SECOND INSTANCE: ' . $prototypeSecond->getRandomId() . '<hr>';
//get SimpleRandom as Singleton
$randomSingletonOne = $container->getBean('singletonSimpleRandom');
if (isset($_GET['delete'])) {
    $container->destroyBean('singletonSimpleRandom');
}
$randomSingletonTwo = $container->getBean('singletonSimpleRandom');
echo '(SINGLETON)ID INSTANCE: ' . $randomSingletonOne->getRandomId() . ' - ID SECOND INSTANCE: ' . $randomSingletonTwo->getRandomId() . '<hr>';
//get SimpleRandom as session
$sessionRandomOne = $container->getBean('sessionSimpleRandom');
if (isset($_GET['delete'])) {
    $container->destroyBean('sessionSimpleRandom');
}
$sessionRandomTwo = $container->getBean('sessionSimpleRandom');
echo '(SESSION) ID INSTANCE: ' . $sessionRandomOne->getRandomId() . ' - ID SECOND INSTANCE: ' . $sessionRandomTwo->getRandomId() . '<hr>';
echo 'Elapsed time: ' . $time->stop();