Download the PHP package code-distortion/options without Composer

On this page you can find all versions of the php package code-distortion/options. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package options

Options

Latest Version on Packagist PHP Version GitHub Workflow Status Buy The World a Tree

code-distortion/options is a PHP library for managing options in a flexible and expressive way.

Table of Contents

Installation

Install the package via composer:

Usage

Simple Usage

Specify values by passing them to Options::new(). This will take your set of options and break them down into individual ones.

An instance of Options is returned. Call all() on it to get the resolved values.

all() will return the options in alphabetical order.

Programmatic Usage

You can also interact with your Options instance in a more programmatic fashion.

Calling options() multiple times will replace the previous options.

However you can amend the existing options by calling amendOptions(). This allows you to add or override existing options with new ones.

Specifying Default Values

You can apply default values to use by passing them to defaults(). The default values will be applied for any options that aren't specified when calling options().

It doesn't matter which order you call defaults() and resolve() in.

Calling defaults() multiple times will replace the previous defaults.

However you can amend the existing defaults by calling amendDefaults(). This allows you to add or override existing defaults with new ones.

Restricting Options

You can restrict the possible options to those available in the defaults by calling restrictUnexpected().

Options passed to options() that aren't present in the defaults will generate an InvalidOptionException.

Validation

You can validate the options by passing a callback to validator().

Each option will be passed to your callback, letting you choose if it's valid.

If your callback returns false, that option will be ignored.

You can also pass a second parameter to validator() instructing it to throw an exception if a value is invalid.

Fluent Interface

The options(), amendOptions(), defaults(), amendDefaults(), restrictUnexpected() and validator() methods can be chained together, and can be called in any order.

Which Types Of Values Can I Specify?

Expressive String Format

You can specify values as strings, with or without modifiers.

Multiple string values can be passed together at the same time, separated with spaces "`" or a comma ",`" (or both):

Array Key-Value-Pairs

Regular expressions are used to examine the string values above. You may wish to use them for convenience, or use plain arrays like below for faster speed.

Note: You can specify non-scalar values when passing key-value-pair arrays (e.g. nested arrays), however they aren't dealt with in any special way. They are currently treated like scalar values.

Testing This Package

Changelog

Please see CHANGELOG for more information on what has changed recently.

SemVer

This library uses SemVer 2.0.0 versioning. This means that changes to X indicate a breaking change: 0.0.X, 0.X.y, X.y.z. When this library changes to version 1.0.0, 2.0.0 and so forth, it doesn't indicate that it's necessarily a notable release, it simply indicates that the changes were breaking.

Treeware

This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.

Contributing

Please see CONTRIBUTING for details.

Code of Conduct

Please see CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of options with dependencies

PHP Build Version
Package Version
Requires php Version 7.0.* | 7.1.* | 7.2.* | 7.3.* | 7.4.* | 8.0.* | 8.1.* | 8.2.* | 8.3.* | 8.4.*
ext-mbstring Version *
code-distortion/di-caller Version ^0.2.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package code-distortion/options contains the following files

Loading the files please wait ....