PHP code example of code-distortion / options
1. Go to this page and download the library: Download code-distortion/options 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/ */
code-distortion / options example snippets php
use CodeDistortion\Options\Options;
$results = Options::parse('sendAlerts dailyLimit=123.45 !applyDailyLimit currency=AUD plan="Silver Plan"');
// [ 'sendAlerts' => true,
// 'dailyLimit' => 123.45,
// 'applyDailyLimit' => false,
// 'currency' => 'AUD',
// 'plan' => 'Silver Plan' ]
// when used programatically
$options = Options::resolve('sendEmails sendSms !sendSlack');
$value = $options->get('sendEmails'); // true
$value = $options->get('sendSlack'); // false
php
use CodeDistortion\Options\Options;
$results = Options::parse('sendEmails sendSms !sendSlack');
// [ 'sendEmails' => true,
// 'sendSms' => true,
// 'sendSlack' => false ]
php
'myVal1=abc +myVal2 -myVal3' // ['myVal1' => 'abc', 'myVal2' => true, 'myVal3' => false']
'myVal1=abc,+myVal2,-myVal3' // ['myVal1' => 'abc', 'myVal2' => true, 'myVal3' => false']
'myVal1=abc, +myVal2, -myVal3' // ['myVal1' => 'abc', 'myVal2' => true, 'myVal3' => false']
php
$options = Options::resolve('sendEmails sendSms !sendSlack');
$has = $options->has('sendEmails'); // true
$has = $options->has('sendTweet'); // false
$value = $options->get('sendEmails'); // true
$value = $options->get('sendTweet'); // null
php
// set the defaults for the first time (or replaces them completely)
$defaults = 'sendEmails sendSms !sendSlack';
$options = Options::defaults($defaults);
// add to the existing defaults (overriding where necessary)
$quietModeDefaults = '!sendSms';
$options->addDefaults($quietModeDefaults);
// retrieve the defaults back as an array
$options->getDefaults();
php
// combine default and custom values
$defaults = 'sendEmails sendSms !sendSlack';
$userPrefs = '!sendEmails sendSms';
$options = Options::defaults($defaults)->resolve($userPrefs);
// check if particular options exist
$has = $options->has('sendEmails'); // true
$has = $options->has('sendTweet'); // false
$has = $options->hasDefault('sendSlack'); // true
$has = $options->hasCustom('sendSlack'); // false
// retrieve individual values from $options
$value = $options->get('sendEmails'); // false
$value = $options->get('sendTweet'); // null
$value = $options->getDefault('sendEmails'); // true
$value = $options->getCustom('sendEmails'); // false
// get the results combined
$results = $options->all();
// [ 'sendEmails' => false,
// 'sendSms' => true,
// 'sendSlack' => false ]
php
$options = Options::allowUnexpected()->validator($callback)->defaults($defaults)->addDefaults($extraDefaults)->resolve($customValues); // chainable
$results = $options->all();