sbesselsen/symfony-prelude

此包已被废弃,不再维护。未建议替代包。

一个简单的 Symfony DI 容器加载器

v0.1.0 2016-09-10 15:13 UTC

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

覆盖文件不是必需的。