Download the PHP package ramsey/uuid-doctrine without Composer

On this page you can find all versions of the php package ramsey/uuid-doctrine. 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 uuid-doctrine

ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type

Source Code Download Package PHP Programming Language Read License Build Status Codecov Code Coverage

The ramsey/uuid-doctrine package provides the ability to use ramsey/uuid as a Doctrine field type.

This project adheres to a code of conduct. By participating in this project and its community, you are expected to uphold this code.

Installation

Install this package as a dependency using Composer.

Usage

Configuration

To configure Doctrine to use ramsey/uuid as a field type, you'll need to set up the following in your bootstrap:

In Symfony:

In Zend Framework:

In Laravel:

In roave/psr-container-doctrine:

Mappings

Then, in your models, you may annotate properties by setting the #[Column] type to uuid, and defining a custom generator of Ramsey\Uuid\UuidGenerator. Doctrine will handle the rest.

If you use the XML Mapping instead of PHP attributes.

You can also use the YAML Mapping.

Binary database columns

In the previous example, Doctrine will create a database column of type CHAR(36) if MariaDB / MySQL are in use, but you may also use this library to store UUIDs as binary strings. The UuidBinaryType helps accomplish this.

In your bootstrap, place the following:

In Symfony:

Then, when annotating model class properties, use uuid_binary instead of uuid:

#[Column(type: "uuid_binary")]

InnoDB-optimised binary UUIDs - deprecated

More suitable if you want to use UUIDs as primary key. Note that this can cause unintended effects if:

More information in this Percona article and UUID Talk by Ben Ramsey (starts at slide 58).

In Symfony:

Then, in your models, you may annotate properties by setting the @Column type to uuid_binary_ordered_time, and defining a custom generator of Ramsey\Uuid\UuidOrderedTimeGenerator. Doctrine will handle the rest.

If you use the XML Mapping instead of PHP annotations.

InnoDB-optimised binary UUIDs - new way

With the introduction of new UUID types (including sortable, unix epoch based UUID version 7) it is now recommended to use regular uuid_binary with Ramsey\Uuid\Doctrine\UuidV7Generator for primary keys.

In your bootstrap, place the following:

In Symfony:

Then, in your models, you may annotate properties by setting the #[Column] type to uuid_binary, and defining a custom generator of Ramsey\Uuid\UuidV7Generator. Doctrine will handle the rest.

If you use the XML Mapping instead of PHP annotations.

PostgreSQL considerations

If you are using PostgreSQL, Doctrine uses PostgreSQL's uuid for the Ramsey\Uuid\Doctrine\UuidType (uuid). Therefor you don't need to use the uuid_binary / uuid_binary_ordered_time types when using PostgreSQL. You can still use UuidV7Generator::class to optimize indexing though.

Working with binary identifiers

When working with binary identifiers you may wish to convert them into a readable format. As of MySql 8.0 you can use the BIN_TO_UUID and UUID_TO_BIN functions documented here. The second argument determines if the byte order should be swapped, therefore when using you should pass 0 and when using you should pass 1.

For other versions you can use the following:

Tests:

More information

For more information on getting started with Doctrine, check out the "Getting Started with Doctrine" tutorial.

Contributing

Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.

Coordinated Disclosure

Keeping user information safe and secure is a top priority, and we welcome the contribution of external security researchers. If you believe you've found a security issue in software that is maintained in this repository, please read SECURITY.md for instructions on submitting a vulnerability report.

ramsey/uuid-doctrine for enterprise

Available as part of the Tidelift Subscription.

The maintainers of ramsey/uuid-doctrine and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. Learn more.

Copyright and License

The ramsey/uuid-doctrine library is copyright © Ben Ramsey and licensed for use under the MIT License (MIT). Please see LICENSE for more information.


All versions of uuid-doctrine with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
doctrine/dbal Version ^2.8 || ^3.0 || ^4.0
ramsey/uuid Version ^3.9.7 || ^4.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 ramsey/uuid-doctrine contains the following files

Loading the files please wait ....