Download the PHP package spomky-labs/cbor-bundle without Composer

On this page you can find all versions of the php package spomky-labs/cbor-bundle. 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 cbor-bundle

CBOR Bundle for Symfony

Build Status Latest Stable Version Total Downloads License

OpenSSF Scorecard

A Symfony bundle that provides CBOR (Concise Binary Object Representation) encoding and decoding support for the Symfony Serializer component.

CBOR is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. It is defined in RFC 8949.

Features

Requirements

Installation

Install the bundle using Composer:

If you're using Symfony Flex, the bundle will be automatically registered. Otherwise, register it manually in config/bundles.php:

Configuration

The bundle works out of the box. A single option controls how deeply nested a CBOR data item may be before the decoder rejects it:

Decoding is a recursive operation: a deeply nested payload — nested arrays, maps or tags cost one byte per level — can exhaust the call stack and crash the PHP process. Data nested deeper than max_depth is rejected with an InvalidArgumentException instead. When the data comes from an untrusted source, a much lower value is recommended:

Basic Usage

Encoding Data

Decoding Data

Object Serialization

Advanced Usage

Context Options

You can control encoding behavior using context options:

Available context options:

Enum Support

The bundle natively supports PHP 8.1+ enums:

Direct Service Access

You can also use the encoder/decoder services directly:

Or use the service aliases:

Supported Types

The bundle supports encoding and decoding of:

Extending the Bundle

The decoder service is built with a tag manager and an "other object" manager that know every tag class spomky-labs/cbor-php implements from the IANA registry -- date/time, big numbers, UUIDs, COSE messages and CBOR Web Tokens, typed arrays, IP addresses and so on -- and every simple value and float of major type 7. Both managers are services you can inject through their interface:

Tag classes and other object classes are not services: the decoder instantiates them itself, with the data of each item it reads. Registering one is therefore a matter of naming the class, and a class you register for a tag number (or a simple value) the library already handles replaces the built-in one.

Custom CBOR Tags

Implement CBOR\Tag\TagInterface (usually by extending CBOR\Tag, see the library guide) and list the class in the configuration:

A class that lives in a directory the service container discovers (src/ in a standard application) is registered automatically: the bundle autoconfigures every TagInterface implementation with the cbor.tag service tag, and only takes the class of such a service definition -- the container never tries to build it. The same tag can be set by hand on a class that is not discovered:

Custom CBOR Objects

Major type 7 items -- simple values, floats, the break code -- work the same way with CBOR\OtherObjectInterface (usually by extending CBOR\OtherObject), the other_objects configuration key and the cbor.other_object service tag:

Upgrading

See UPGRADE-4.0.md for migration instructions from version 3.x to 4.0.

Documentation

For more detailed information about CBOR:

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting a pull request.

Security

If you discover a security vulnerability, please follow our security policy.

Support

If you find this project useful and want to support its development:

License

This project is released under the MIT License.

Credits

This bundle is maintained by Florent Morselli and contributors.


All versions of cbor-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
spomky-labs/cbor-php Version ^3.3.3
symfony/config Version ^5.3|^6.0|^7.0
symfony/dependency-injection Version ^5.3|^6.0|^7.0
symfony/http-kernel Version ^5.3|^6.0|^7.0
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 spomky-labs/cbor-bundle contains the following files

Loading the files please wait ...