theofidry / laravel-yaml
此包已被废弃,不再维护。未建议替代包。
Laravel ServiceProvider,用于使用 YAML 配置文件
v1.0.0-beta.2
2016-03-14 12:28 UTC
Requires
- php: >=5.5.9
- laravel/framework: ^5.1
- symfony/config: ^2.7|^3.0
- symfony/expression-language: ^2.7|^3.0
- symfony/yaml: ^2.7|^3.0
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^5.2
This package is auto-updated.
Last update: 2022-02-01 12:56:11 UTC
README
一个简单的 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); } ); }
文档
- 免责声明:为什么使用此库?
- 安装
- 关于参数的所有内容
- YAML 与 PHP
- 引用另一个值
- 引用环境值
- 引用常量
- 覆盖值
- 环境相关参数
- 服务声明
- 简单服务
- 工厂
- 装饰服务
- 自定义文件组织
- 导入其他文件
- 使用您自己的提供者
安装
您可以使用 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.yml
或 parameters_production.yml
文件。
然后 services.yml
应包含所有服务定义。
致谢
此包由 Théo FIDRY 开发。