nuvoleweb/robo-config 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nuvoleweb/robo-config

最新稳定版本:3.1.0

Composer 安装命令:

composer require nuvoleweb/robo-config

包简介

CI/developer-friendly configuration processor for Robo.

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

Robo Config enables a flexible configuration processing for Robo by providing the following features:

  • Define your default configuration in robo.yml.dist and let developers override that locally in their robo.yml.
  • Allow configuration files to use properties defined within the same configuration in a Phing-like fashion.
  • Allow all properties to be overridden on the command line so that they can be tweaked when running continuous integration builds.
  • Access any configuration parameter via $this->config('my.configuration.property);`

Installation

Install with Composer by running:

$ composer require nuvoleweb/robo-config 

Usage

After installation add the following trait to your RoboFile.php:

<?php class RoboFile extends Robo\Tasks { use NuvoleWeb\Robo\Task\Config\loadTasks; }

For example, consider having the following robo.yml.dist file:

site: name: "Default site name" email: "me@example.com" url: "http://localhost" account: name: "admin" password: !account.name email: !site.email

And the following robo.yml file:

site: name: "My site name"

When running:

./vendor/bin/robo my-command -o "site.url: http://127.0.0.1:8888" 

The resulting configuration will be:

site: name: "My site name" email: "me@example.com" url: "http://127.0.0.1:8888" account: name: "admin" password: "admin" email: "me@example.com"

Robo configuration in PHP files

Robo Config exposes three tasks that allow to convert a YAML configuration subset into PHP array. Such array will be then appended, prepended or written down to a PHP destination file as an array.

This might be useful for applications that have part of their configuration expressed in a PHP file, like Drupal or Silex.

For example, the following YAML portion:

settings: config: system.logging: error_level: verbose settings: scan_tests: TRUE

Will be converted into:

// Start settings processor block. $config["system.logging"] = array('error_level' => 'verbose'); $settings["scan_tests"] = true; // End settings processor block.

And added to a PHP file.

Append task

Given an existing /my/config.php file, by calling:

<?php class RoboFile { public function appendTask() { $this->taskAppendConfiguration('/my/config.php')->run(); } } 

We will get the following result:

<?php // Content of /my/config.php here... // Start settings processor block. $config["system.logging"] = array('error_level' => 'verbose'); $settings["scan_tests"] = true; // End settings processor block.

Prepend task

Given an existing /my/config.php file, by calling:

<?php class RoboFile { public function appendTask() { $this->taskPrependConfiguration('/my/config.php')->run(); } } 

We will get the following result:

<?php // Start settings processor block. $config["system.logging"] = array('error_level' => 'verbose'); $settings["scan_tests"] = true; // End settings processor block. // Content of /my/config.php here...

Write task

Given a non-existing /my/config.php file, by calling:

<?php class RoboFile { public function appendTask() { $this->taskWriteConfiguration('/my/config.php')->run(); } } 

We will get the following result:

<?php // Start settings processor block. $config["system.logging"] = array('error_level' => 'verbose'); $settings["scan_tests"] = true; // End settings processor block.

Configure tasks

The behaviors of all tasks above can be customized as follow:

<?php class RoboFile { public function myTask() { $config = $this->getMyConfiguration(); $this->taskAppendConfiguration('/my/config.php', $config) // Use custom configuration. ->setBlockStart('// Start') // Change opening comment. ->setBlockEnd('// End') // Change closing comment. ->setConfigKey('parameters') // Use `parameters:` instead of default `settings:` ->run(); } } 

Standalone usage

If you just want to use the PHP configuration file processing tasks above in your custom Robo application you can load them by including the following trait:

<?php class RoboFile { use \NuvoleWeb\Robo\Task\Config\Php\loadTasks; }

统计信息

  • 总下载量: 231.59k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 1
  • 依赖项目数: 58
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固