詹姆斯·麦克纳布 / config-yaml
v3.0.0
2018-06-21 09:24 UTC
Requires
- php: >=7.0
- illuminate/contracts: 5.5.*|5.6.*
- illuminate/filesystem: 5.5.*|5.6.*
- illuminate/support: 5.5.*|5.6.*
- symfony/yaml: ^3.0|^4.0
Requires (Dev)
- orchestra/testbench: 3.5.*|3.6.*
- phpspec/phpspec: ^3.0|^4.0
Suggests
- illuminate/cache: Allows caching of your YAML config values via the CachingRepository.
This package is auto-updated.
Last update: 2019-09-28 13:26:38 UTC
README
此包已被弃用且不再维护。作者建议使用 pragmarx/yaml 包。
Laravel YAML 配置加载器
这为 Laravel 提供了简单的 YAML 配置加载功能。它从 illuminate/config
包中汲取了很多灵感,并使用 Symfony YAML 解析器。
这并不是 Laravel 内置 PHP 配置文件系统的替代品,而是一个额外的“层”配置。这允许你拥有一个或多个类似 Ruby 的 config.yaml
文件,包含应用的可配置配置。
默认情况下,该包假设你的 YAML 文件位于 base_path()
目录中,但你可以通过发布包配置文件(config-yaml.php
)到你的应用并更改 yaml_path
键来自定义此设置。
安装
通过 Composer 安装
$ composer require jameswmcnab/config-yaml
发布包配置(可选)
如果你想要自定义包配置,发布包配置然后编辑新创建的 config/config-yaml.php
文件。
$ php artisan vendor:publish --provider=ConfigYamlServiceProvider
使用方法
示例 YAML 文件
# Example YAML config.yaml file app: name: "Great App" version: 1.0.2 log: dir: /var/log/vendor/app level: debug database: adapter: mysql database: app_live username: user password: password
使用外观
注意:请记住在 app.php
配置中注册外观。
ConfigYaml::get('config.database.adapter'); // mysql
使用依赖注入
如果你不想使用外观,可以直接注入 Jameswmcnab\ConfigYaml\RepositoryInterface
到任何支持依赖注入的地方,并直接使用它。
<?php namespace App\Foo; use Jameswmcnab\ConfigYaml\RepositoryInterface; class FooBar { /** * @var RepositoryInterface */ private $yamlConfig; /** * FooBar constructor. * * @param RepositoryInterface $yamlConfig */ public function __construct(RepositoryInterface $yamlConfig) { $this->yamlConfig = $yamlConfig; } /** * @return array|string */ private function getDatabaseAdapter() { return $this->yamlConfig->get('config.database.adapter'); // mysql } }
运行测试
要运行包测试
$ vendor/bin/phpspec run $ vendor/bin/phpunit