PHP code example of flyokai / composition
1. Go to this page and download the library: Download flyokai/composition 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/ */
flyokai / composition example snippets
use function Flyokai\Composition\sortComposition;
$items = [
'cache' => ['className' => Cache::class, 'after' => 'config'],
'config' => ['className' => Config::class],
'db' => ['className' => Db::class, 'depends' => 'config'],
'http' => ['className' => Http::class, 'before' => 'db'],
];
$sorted = sortComposition($items);
// Returns: ['http', 'config', 'cache', 'db'] — keys preserved, order corrected
[
'itemName' => [
'className' => 'Full\\Class\\Name',
'before' => 'item2,item3', // string or array
'after' => 'item1', // string or array
'depends' => 'other1,other2', // string or array
]
]
use function Flyokai\Composition\castCompositionArgument;
$ordered = castCompositionArgument($items, 'modules', 'className');
// ['Http\\Class', 'Config\\Class', 'Cache\\Class', 'Db\\Class']
use Flyokai\Composition\TopSort\ArraySortGroup;
$sorter = new ArraySortGroup();
$sorter->add('a', []);
$sorter->add('b', ['a']);
$sorter->add('c', []);
$sorter->add('d', ['b']);
$sorter->sorted(); // ['a', 'c', 'b', 'd']
$sorter->grouped(); // [['a', 'c'], ['b'], ['d']] — items in a group are independent