designs2 / dependency-container
基于 pimple 的 Contao 开源 CMS 的依赖容器。
1.8.1
2015-07-07 21:23 UTC
Requires
- php: >=5.3
- contao-community-alliance/composer-plugin: ~2.0
- contao/core: >=3.2,<3.6-dev
- pimple/pimple: ~1.0
Requires (Dev)
- phpcq/all-tasks: ~1.0
Replaces
- bit3/contao-dependency-container: 1.8.1
- contao-legacy/dependency-container: 1.8.1
This package is not auto-updated.
Last update: 2024-10-02 18:34:29 UTC
README
本 DI 容器基于 Pimple。
注册参数和服务
system/modules/X/config/services.php
$container['myservice.param'] = 'value'; $container['myservice'] = function($container) { return new MyServiceClassName(); }
访问参数和服务
class MyClass { function myFunction() { global $container; $parameter = $container['myservice.param']; $service = $container['myservice']; } }
内置服务
配置对象
/** @var \Config $config */ $config = $container['config'];
环境对象
/** @var \Environment $environment */ $environment = $container['environment'];
数据库连接
/** @var \Database $database */ $database = $container['database.connection'];
输入对象
/** @var \Input $input */ $input = $container['input'];
后端或前端用户,取决于 TL_MODE
/** @var \BackendUser|\FrontendUser $user */ $user = $container['user'];
会话对象
/** @var \Session $session */ $session = $container['session'];
对 $objPage 对象的惰性访问
/** @var DependencyInjection\Container\PageProvider */ $pageProvider = $container['page-provider']; $page = $pageProvider->getPage();