sbesselsen / symfony-prelude
此包已被废弃,不再维护。未建议替代包。
一个简单的 Symfony DI 容器加载器
v0.1.0
2016-09-10 15:13 UTC
Requires
- symfony/config: ^3.1
- symfony/dependency-injection: ^3.1
- symfony/yaml: ^3.1
This package is not auto-updated.
Last update: 2021-02-19 23:45:40 UTC
README
一个简单的 Symfony DI 容器加载器。
目的
如果您想在不用完整框架的情况下使用 Symfony 组件,此工具提供了一种简单且一致的方式,从 YAML 文件中加载依赖注入容器,无需编写样板代码。
入门
通过 composer 安装
composer require sbesselsen/symfony-prelude
用法
创建一个中心文件,从您的项目根目录获取容器
bootstrap.php
<?php
require_once 'vendor/bootstrap.php';
$container = SymfonyPrelude\ContainerLoader::containerForDirectory($rootDirectory);
现在创建两个 YAML 文件来配置 DI 容器
app/services.yml
services:
my_service:
class: Acme\MyClass
arguments:
- "%some_param%"
- "%root_dir%"
(root_dir
参数由加载器自动提供。)
app/parameters.yml
parameters:
some_param: 'SECRET_KEY'
other_param: 1234
现在您可以在应用程序中使用 $container
。它是一个正常的 Symfony DI ContainerBuilder,由这些 YAML 文件配置。
本地覆盖
可选地,您可以创建第三个配置文件来覆盖参数或服务
app/override.yml
parameters:
server_host: dev-server-host
services:
my_service:
class: Acme\AnotherClass
覆盖文件不是必需的。