1. Go to this page and download the library: Download nordcode/robo-parameters library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
nordcode / robo-parameters example snippets
use Robo\Tasks;
class RoboFile extends Tasks
{
use NordCode\RoboParameters\loadTasks;
// ...
}
use Robo\Tasks;
class RoboFile extends Tasks
{
use NordCode\RoboParameters\loadTasks;
public function sometask()
{
// 1. Load the variables host, port, ... from the environment
// variables DB_HOST, DB_PORT, ... and writes them to the file database.xml.
// 2. If one of the variables could not be found in the environment
// the task will fail (this is no default)
$this
->writeParameters('database.xml')
->loadFromEnvironment(['host', 'port', 'username', 'password', 'db_name'])
->envVariablePrefix('DB')
->failOnMissingEnvVariables()
->run();
}
}
use Robo\Tasks;
class RoboFile extends Tasks
{
use NordCode\RoboParameters\loadTasks;
public function anothertask()
{
// 1. Will load the config.yml.dist file as YAML
// 2. The parameter mail_host will be read from the environment
// variable MAIL_HOST or fail back the mail_host value from the boilerplate file
// 3. `env` will always be set to "production".
// 4. The combined data will be written to config.yml
$this
->writeParameters('config.yml')
->useBoilerplate('config.yml.dist')
->loadFromEnvironment(['mail_host'])
->set([
'env' => 'production'
])
->run();
}
}
use Robo\Tasks;
class RoboFile extends Tasks
{
use NordCode\RoboParameters\loadTasks;
public function configureSymfony()
{
// This is how you would configure your Symfony application automatically
// 1. The app/config/parameters.yml.dist will be used as boilerplate (default)
// 2. All the specified variables will be loaded from the environment with `SF` as prefix e.g. SF_DATABASE_USER
// note that this has NOTHING to do with Symfony's capabilities to load parameters from the env during runtime!
// The parameters specified here will be loaded and set while building the project (on deployment).
// So you set the environment variables in your CI tool like Jenkins, Travis, GitLab CI, ...
// 3. Finally the secret will be set to a (stupid) random value and the combined data will be
// written to app/config/parameters.xml (note that the boilerplate and final output can have different formats)
// please do not use this for actual secret generation!
// actually, the secret should be stored in the environment as well
$stupidSecret = md5(mt_rand());
$this
->writeSymfonyParameters('app/config/parameters.xml', null, 'app/config/parameters.yml.dist')
->envVariablePrefix('SF')
->failOnMissingEnvVariables()
->loadFromEnvironment([
'database_host',
'database_port',
'database_user',
'database_password',
'mailer_host',
'mailer_user',
'mailer_password'
])
->set('secret', $stupidSecret)
->run();
}
}
use Robo\Tasks;
class RoboFile extends Tasks
{
use NordCode\RoboParameters\loadTasks;
public function configureLaravel()
{
// This is a basic example how to configure a Laravel app in your deployment process
// Laravel utilizes vlucas/phpdotenv library to load part of your configuration from the .env file
// 1. Load the distributed configuration from .env.example. You should place common configuration in this file
// 2. All the specified variables will be loaded from the environment
// 3. The combined configuration will be written to .env
$this
->writeParameters('.env')
->useBoilerplate('.env.example')
// the keys are case-insensitive so app_env will be read from environment and written to .env as APP_ENV
->loadFromEnvironment([
'app_env',
'app_url',
'db_database',
'db_username',
'db_password',
'mail_host',
'mail_username',
'mail_password'
])
->run();
}
}
// RoboFile.php
use Robo\Tasks;
class RoboFile extends Tasks
{
use \NordCode\RoboParameters\FileConfigurable;
public function __construct()
{
// load the configuration for the task from one or multiple files
// the configurations will be merged into a single array
// if loading was successful you can use $this->get() in all the following tasks to receive a value
$this
->loadConfiguration('config.dist.yml')
->loadConfiguration('config.yml');
}
public function foo() {
// basic usage
$buildDir = $this->get('build_dir', 'some/default/path');
// you can use the dot.notation to access array fields:
$this->get('environment.dev.build_dir', 'build');
// .. would be the same as ..
$this->get('environment')['dev']['build_dir'] ?: 'build';
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.