schnittstabil / get
Get nested array values and object properties.
Installs: 112 852
Dependents: 11
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=7.1.0
Requires (Dev)
README
Get nested array values and object properties.
Install
$ composer require schnittstabil/get
Usage
require __DIR__.'/vendor/autoload.php'; use Schnittstabil\Get; echo 'Hello '.Get\value('name', $_REQUEST, 'John Doe'); echo 'Hello '.Get\valueOrFail('PHP_AUTH_USER', $_SERVER, 'User is not authenticated.'); echo 'user: '.Get\env('DB_USER', 'root'); echo 'password: '.Get\envOrFail('DB_PASS', 'DB_PASS is not set');
API
Schnittstabil\Get\value
/** * Return array values and object properties. * * @param string|int|mixed[] $path the path * @param object|array|null $target the target * @param mixed $default default value if $path is not valid * * @return mixed the value determined by `$path` or otherwise `$default` * * @SuppressWarnings(PHPMD.StaticAccess) */ function value($path, $target, $default = null) {/**/}
use Schnittstabil\Get; $array = ['zero', 'one', 'two']; $array['foo'] = new \stdClass(); $array['foo']->bar = true; $array['un.usual'] = true; Get\value(1, $array); //=> 'one' Get\value('1', $array); //=> 'one' Get\value('foo.bar', $array); //=> true Get\value(['foo', 'bar'], $array); //=> true Get\value(['un.usual'], $array); //=> true // $default Get\value('un.usual', $array); //=> null Get\value(3, $array); //=> null Get\value(3, $array, 42); //=> 42
Schnittstabil\Get\valueOrFail
Same as
Schnittstabil\Get\value
, but throws anOutOfBoundsException
.
/** * Return array values and object properties. * * @param string|int|mixed[] $path the path * @param object|array|null $target the target * @param mixed $message exception message * * @throws \OutOfBoundsException if the `$path` does not determine a member of `$target` * * @return mixed the value determined by `$path` * * @SuppressWarnings(PHPMD.StaticAccess) */ function valueOrFail($path, $target, $message = null) {/**/}
use Schnittstabil\Get; Get\valueOrFail(3, $array); //=> throws an OutOfBoundsException Get\valueOrFail(3, $array, 'Error Message'); //=> throws a new OutOfBoundsException('Error Message')
Schnittstabil\Get\typed
/** * Converts a string value to a PHP typed value. * * @param mixed $value * @return mixed */ function typed($value) {/**/}
use Schnittstabil\Get; Get\typed('42'); //=> int(42) Get\typed('true'); Get\typed('yes'); Get\typed('on'); //=> bool(true) Get\typed('false'); Get\typed('no'); Get\typed('off'); //=> bool(false) /* escaping */ Get\typed('"true"'); Get\typed("'true'"); //=> string("true")
Schnittstabil\Get\env
/** * Gets the value of an environment variable. * * @param string $varname the variable name * @param mixed $default default value if `$varname` is not valid * @param mixed $typed convert environment value to a PHP typed value * @param bool $localOnly return only values of local environment variables * * @return mixed the environment value determined by `$varname` or otherwise `$default` */ function env($varname, $default = null, $typed = true, $localOnly = false) {/**/}
Schnittstabil\Get\envOrFail
/** * Gets the value of an environment variable. * * @param string $varname the variable name * @param mixed $message exception message * @param mixed $typed convert environment value to a PHP typed value * @param bool $localOnly return only values of local environment variables * * @throws OutOfBoundsException if the `$varname` does not determine an environment value * * @return mixed the environment value determined by `$varname` */ function envOrFail($varname, $message = null, $typed = true, $localOnly = false) {/**/}
License
MIT © Michael Mayer