theofidry/laravel-yaml

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

Laravel ServiceProvider,用于使用 YAML 配置文件

v1.0.0-beta.2 2016-03-14 12:28 UTC

This package is auto-updated.

Last update: 2022-02-01 12:56:11 UTC


README

Package version Build Status SensioLabsInsight Dependency Status Scrutinizer Code Quality Code Coverage License

一个简单的 Laravel 库,用于在 Yaml 中声明参数和服务,就像在 Symfony 中一样

# resources/providers/services.yml

services:
    dummy_service:
        class: App\Services\DummyService
        alias: dummy
        arguments:
            - %app.url%
            - %app.env%

而不是

# app/Providers/AppServiceProvider.php

//...
public function register()
{
    $this->app->singleton(
        'dummy_service',
        function ($app) {
            $url = env('APP_URL');
            $env = env('APP_ENV');

            return new \App\Services\DummyService($url, $env);
        }
    );
}

文档

  1. 免责声明:为什么使用此库?
  2. 安装
  3. 关于参数的所有内容
  4. YAML 与 PHP
  5. 引用另一个值
  6. 引用环境值
  7. 引用常量
  8. 覆盖值
  9. 环境相关参数
  10. 服务声明
  11. 简单服务
  12. 工厂
  13. 装饰服务
  14. 自定义文件组织
  15. 导入其他文件
  16. 使用您自己的提供者

安装

您可以使用 Composer 将此包安装到您的项目中

composer require theofidry/laravel-yaml

然后,将提供者 Fidry\LaravelYaml\Provider\DefaultExtensionProvider 添加到您的应用程序提供者中

<?php
// config/app.php

'providers' => [
    // ...
    \Fidry\LaravelYaml\Provider\DefaultExtensionProvider::class,
];

用法

查看如何声明和使用 参数服务

按照惯例,您应该有以下结构

resources/
    providers/
        parameters.yml
        parameters_testing.yml
        services.yml

parameters.yml 应包含所有应用程序参数值

# resources/providers/parameters.yml

parameters:
    my_parameter: parameter_value

根据您的环境,将加载第二个参数文件。例如,如果您的应用程序环境(默认由 .env 文件中的环境变量 APP_ENV 定义)是 'testing''production',则库将尝试加载 parameters_testing.ymlparameters_production.yml 文件。

然后 services.yml 应包含所有服务定义。

查看更多。

致谢

此包由 Théo FIDRY 开发。