устанавливать
композитор требуется “прыщ/прыщ”: “^3.0”
Код
Загрузите и создайте экземпляр
require __DIR__ . '/vendor/autoload.php'; $pc = new Pimple\Container();
Хранилище параметров
$pc['app_id']='pimple';
Хранение в одном корпусе
$pc['app']=function($c){ $app=new stdClass(); $app->app_id=$c['app_id']; return $app; }; $app_one=$pc['app']; $app_two=$pc['app']; var_dump($app_one === $app_two);// true
Не Одноэлементное хранилище
$pc['api'] = $pc->factory(function ($c) { $api=new stdClass(); $api->app_id=$c['app_id']; return $api; }); $api_one=$pc['api']; $api_two=$pc['api']; var_dump($api_two === $api_two);// false
Хранение анонимных функций
$pc['random_func']=$pc->protect(function () { return rand(); });
Получение анонимных функций
$random=$pc->raw('random_func'); var_dump($random());
Поставщик услуг
class UcProvider implements Pimple\ServiceProviderInterface { public function register(Pimple\Container $c) { $uc_id=6; $c['uc_config']=['uc_id'=>$uc_id]; $c['uc_class']=function ($c) use ($uc_id){ $uc=new stdClass(); $uc->id=$uc_id; return $uc; }; } } $pc->register(new UcProvider()); var_dump($pc['uc_config']); var_dump($pc['uc_class']);
Файл
Официальные документы: http://pimple.sensiolabs.org/