Download the PHP package constup-foss/php-attributes without Composer
On this page you can find all versions of the php package constup-foss/php-attributes. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download constup-foss/php-attributes
More information about constup-foss/php-attributes
Files in constup-foss/php-attributes
Package php-attributes
Short Description A collection of PHP attributes and their processors.
License MIT
Informations about the package php-attributes
= constUP PHP Attributes :toc: :toclevels: 5
image:https://img.shields.io/badge/PHP-8.5-blue[Static Badge] image:https://img.shields.io/badge/License-MIT-green[Static Badge] image:https://img.shields.io/packagist/dt/constup-foss/php-attributes[Packagist Downloads]
== Description
A collection of PHP attributes and their processors. Includes reusable common processors that can be used on any attribute, even your own.
The main idea behind several attributes in this library is to leverage First Class Callables in static expressions (link:https://wiki.php.net/rfc/fcc_in_const_expr[PHP RFC Wiki]) introduced in PHP 8.5. FCCs allow you to have attributes whose arguments are not static, but rather resolved during runtime. This removes the clutter of having multiple distinct attributes to cover the same base functionality, for example, validation.
Of course, since this approach has its benefits and downsides, this library contains classic attributes with static arguments as well. You are free to use the ones that are the best fit for your use case.
=== Libraries that use constup-foss/php-attributes
- https://github.com/constup-foss/php-serializer -
constup-foss/php-serializeris a PHP serializer, deserializaer, normalizer and denormalizer library that uses attributes supporting FCCs. The library is currently in active development and is not production-ready.
== Supporting development
If you like this library or find it useful, consider buying me a nice cup of coffee. Coffee fuels open source.
image:doc/bmac.png[width=197]
== Installation
[source]
composer require constup-foss/php-attributes
== Available attributes
[source, php]
[DoNotSerialize]
[TransformPropertyName(\Closure $transformer)]
[TransformPropertyValue(\Closure $transformer)]
[ValidateProperty(\Closure $validator)]
More detailed list of available attributes, their processors and links to individual documentation pages is available here: link:doc/available_attributes.adoc[Available attributes]
== Common attribute processors
Common attribute processors implemented in this library can be used directly to process attributes of a specific structure (the number and type of arguments that an Attribute has). Many concrete Attribute processors in this library are just extensions of the common ones.
[IMPORTANT]
Common attribute processors can be used on any attribute that satisfies supported attribute structure. They can be used on attributes that are not part of this library.
You are free to use them on third-party attributes or even on your own attributes.
The list of available common attribute processors is avaliable on a separate page: link:doc/common_attribute_processors.adoc[Common attribute processors].
== License
MIT License
- License file: link:LICENSE.txt[LICENSE.txt]
- Online version: https://opensource.org/license/mit
== Supporting development
If you like this library or find it useful, consider buying me a nice cup of coffee. Coffee fuels open source.
image:doc/bmac.png[width=197]