},
{
"name": "laminas/laminas-stdlib",
- "version": "3.17.0",
+ "version": "3.18.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-stdlib.git",
- "reference": "dd35c868075bad80b6718959740913e178eb4274"
+ "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/dd35c868075bad80b6718959740913e178eb4274",
- "reference": "dd35c868075bad80b6718959740913e178eb4274",
+ "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf",
+ "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf",
"shasum": ""
},
"require": {
- "php": "~8.1.0 || ~8.2.0"
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
},
"conflict": {
"zendframework/zend-stdlib": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "^2.5",
- "phpbench/phpbench": "^1.2.9",
- "phpunit/phpunit": "^10.0.16",
+ "phpbench/phpbench": "^1.2.14",
+ "phpunit/phpunit": "^10.3.3",
"psalm/plugin-phpunit": "^0.18.4",
- "vimeo/psalm": "^5.8"
+ "vimeo/psalm": "^5.15.0"
},
"type": "library",
"autoload": {
"type": "community_bridge"
}
],
- "time": "2023-03-20T13:51:37+00:00"
+ "time": "2023-09-19T10:15:21+00:00"
},
{
"name": "paragonie/constant_time_encoding",
},
{
"name": "laminas/laminas-stdlib",
- "version": "3.17.0",
- "version_normalized": "3.17.0.0",
+ "version": "3.18.0",
+ "version_normalized": "3.18.0.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-stdlib.git",
- "reference": "dd35c868075bad80b6718959740913e178eb4274"
+ "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/dd35c868075bad80b6718959740913e178eb4274",
- "reference": "dd35c868075bad80b6718959740913e178eb4274",
+ "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf",
+ "reference": "e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf",
"shasum": ""
},
"require": {
- "php": "~8.1.0 || ~8.2.0"
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
},
"conflict": {
"zendframework/zend-stdlib": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "^2.5",
- "phpbench/phpbench": "^1.2.9",
- "phpunit/phpunit": "^10.0.16",
+ "phpbench/phpbench": "^1.2.14",
+ "phpunit/phpunit": "^10.3.3",
"psalm/plugin-phpunit": "^0.18.4",
- "vimeo/psalm": "^5.8"
+ "vimeo/psalm": "^5.15.0"
},
- "time": "2023-03-20T13:51:37+00:00",
+ "time": "2023-09-19T10:15:21+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
'dev_requirement' => false,
),
'laminas/laminas-stdlib' => array(
- 'pretty_version' => '3.17.0',
- 'version' => '3.17.0.0',
- 'reference' => 'dd35c868075bad80b6718959740913e178eb4274',
+ 'pretty_version' => '3.18.0',
+ 'version' => '3.18.0.0',
+ 'reference' => 'e85b29076c6216e7fc98e72b42dbe1bbc3b95ecf',
'type' => 'library',
'install_path' => __DIR__ . '/../laminas/laminas-stdlib',
'aliases' => array(),
"extra": {
},
"require": {
- "php": "~8.1.0 || ~8.2.0"
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
},
"require-dev": {
"laminas/laminas-coding-standard": "^2.5",
- "phpbench/phpbench": "^1.2.9",
- "phpunit/phpunit": "^10.0.16",
+ "phpbench/phpbench": "^1.2.14",
+ "phpunit/phpunit": "^10.3.3",
"psalm/plugin-phpunit": "^0.18.4",
- "vimeo/psalm": "^5.8"
+ "vimeo/psalm": "^5.15.0"
},
"autoload": {
"psr-4": {
use Traversable;
use function array_shift;
+use function get_object_vars;
use function is_array;
use function is_callable;
use function method_exists;
use function strtolower;
use function ucwords;
+/**
+ * @template TValue
+ * @implements ParameterObjectInterface<string, TValue>
+ */
abstract class AbstractOptions implements ParameterObjectInterface
{
// phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore,WebimpressCodingStandard.NamingConventions.ValidVariableName.NotCamelCapsProperty
/**
* Constructor
*
- * @param array|Traversable|null $options
+ * @param iterable<string, TValue>|AbstractOptions<TValue>|null $options
*/
public function __construct($options = null)
{
/**
* Set one or more configuration properties
*
- * @param array|Traversable|AbstractOptions $options
+ * @param iterable<string, TValue>|AbstractOptions<TValue> $options
* @throws Exception\InvalidArgumentException
* @return AbstractOptions Provides fluent interface
*/
/**
* Cast to array
*
- * @return array
+ * @return array<string, TValue>
*/
public function toArray()
{
$array = [];
- /** @param string[] $letters */
$transform = static function (array $letters): string {
+ /** @var list<string> $letters */
$letter = array_shift($letters);
return '_' . strtolower($letter);
};
- foreach ($this as $key => $value) {
+ /** @psalm-var TValue $value */
+ foreach (get_object_vars($this) as $key => $value) {
if ($key === '__strictMode__') {
continue;
}
* @see ParameterObject::__set()
*
* @param string $key
- * @param mixed $value
+ * @param TValue|null $value
* @throws Exception\BadMethodCallException
* @return void
*/
*
* @param string $key
* @throws Exception\BadMethodCallException
- * @return mixed
+ * @return TValue
*/
public function __get($key)
{
{
/**
* Compatibility Flag for ArrayUtils::filter
+ *
+ * @deprecated
*/
public const ARRAY_FILTER_USE_BOTH = 1;
/**
* Compatibility Flag for ArrayUtils::filter
+ *
+ * @deprecated
*/
public const ARRAY_FILTER_USE_KEY = 2;
namespace Laminas\Stdlib;
+/**
+ * @template TKey of string
+ * @template TValue
+ */
interface ParameterObjectInterface
{
/**
- * @param string $key
+ * @param TKey $key
+ * @param TValue|null $value
* @return void
*/
public function __set($key, mixed $value);
/**
- * @param string $key
- * @return mixed
+ * @param TKey $key
+ * @return TValue
*/
public function __get($key);
/**
- * @param string $key
+ * @param TKey $key
* @return bool
*/
public function __isset($key);
/**
- * @param string $key
+ * @param TKey $key
* @return void
*/
public function __unset($key);