co-stack / lib
A set of really useful, well tested and high performant php functions
Requires
- php: ^8.2
Requires (Dev)
- ergebnis/composer-normalize: ^2.29.0
- infection/infection: ^0.27.7
- jetbrains/phpstorm-attributes: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.3.2
- phpmd/phpmd: ^2.14.1
- phpstan/phpstan: ^1.10.40
- phpunit/phpunit: ^9.6.13
- squizlabs/php_codesniffer: ^3.7.2
- vimeo/psalm: ^5.15.0
This package is auto-updated.
Last update: 2024-10-06 17:47:59 UTC
README
PHP 8.2 \ PHP 8.1 \ PHP 8.0 \ PHP 7.4 \ PHP 7.3 \ PHP 7.2
About
co-stack.com lib provides generic everyday functions, which aim to help you to focus on your main task. This package tries to achieve this by providing:
- intuitive function names
- high quality code
- constant performance optimization
- extensive documentation
- 100% test coverage
- dependency free code
- mostly pure functions
- namespaced functions
- Static Methods as OOP alternative
So you don't need to bother about performance or implementation details.
Function list
array_filter_recursive
: Likearray_filter
, but recursively.array_value
. Get an array value by an index path.array_property
.array_column
for objectsconcat_paths
. Concatenate filesystem paths without duplicate directory separators.mkdir_deep
.mkdir
with therecursive
flag, but withoutmode
.factory
. Creates a new object by mapping an associative array to constructor arguments and public properties.filter
. Factory for simple filter closures for use witharray_filter
.
Compatibility
There is one branch for each supported PHP version. Each branch has its own major version number. Only PHP versions, which are officially maintained are supported. Lower supported versions receive backports of all features, which are possible in that PHP Version. (e.g. type annotations will be backported, but Attributes will not be available below PHP 8.0)
Version | PHP Version | Branch Name | Maintained until |
---|---|---|---|
1.x | 7.2 | php72 | 31 Jul 2021 |
2.x | 7.3 | php73 | 6 Dec 2021 |
3.x | 7.4 | php74 | 28 Nov 2022 |
4.x | 8.0 | php80 | 26 Nov 2023 |
5.x | 8.1 | php81 | 25 Nov 2024 |