contao-community-alliance / dependency-container
基于pimple的Contao开源cms依赖容器。
2.1.1
2022-09-05 20:13 UTC
Requires
- php: ^7.4 || ^8.0
- contao/core-bundle: ^4.9
- pimple/pimple: ^1.0
- symfony/config: ^4.0 || ^5.4
- symfony/dependency-injection: ^4.1.12 || ^5.4
- symfony/http-kernel: ^4.0 || ^5.4
- symfony/yaml: ^4.0 || ^5.4
Requires (Dev)
- contao/manager-bundle: ^4.4
- phpcq/runner-bootstrap: ^1.0@dev
This package is auto-updated.
Last update: 2024-09-06 01:22:48 UTC
README
此依赖注入容器基于Pimple。
关于Contao 4的说明:在Contao 4中已过时 - 你应该使用Contao 4中的symfony容器。
此扩展保持与Contao 4的兼容性以简化迁移过程 - 然而,你应该更改你的代码,使用两种注册方式来注册服务。
有关如何迁移到Contao 4的指南,请参阅UPGRADING-TO-CONTAO4.md
注册参数和服务
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();