1. Go to this page and download the library: Download utopia-php/registry library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
utopia-php / registry example snippets
topia\Registry\Registry;
global $dbHost, $dbUser, $dbPass, $dbScheme;
$register = new Registry();
$register->set('db', function() use ($dbHost, $dbUser, $dbPass, $dbScheme) { // Register DB connection
$pdo = new PDO("mysql:host={$dbHost};dbname={$dbScheme}", $dbUser, $dbPass, array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::ATTR_TIMEOUT => 5 // Seconds
));
// Connection settings
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); // Return arrays
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Handle all errors with exceptions
return $pdo;
});
/**
* Execute callback and create database connection only when
* you need it and not a second before
*/
$register->get('db');
/**
* Second call for db service will return the instance that has been created
* in the previous line of code
*/
$register->get('db');
/**
* Third call for db service when passing the value 'true' to the $fresh argument
* will return a fresh and new instance of the db service
*/
$register->get('db', true);
/**
* Using the context method you can manage multiple instances of the same resources with separated scopes.
*/
$register->context('new-set-of-instances');
/**
* You can use the 3rd parameter `$fresh` to get a new copy of the resource in every get call
*/
$register->set('time', function() { // Register DB connection
return microtime();
}, true);
$register->get('time'); // 0.16608900
$register->get('time'); // 0.16608905
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.