pfazzi/isbn-doctrine

Allow the use of a pfazzi/isbn as Doctrine field type.

v0.1.2 2019-05-13 22:29 UTC

This package is auto-updated.

Last update: 2024-04-14 10:04:38 UTC


README

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

Installation

The preferred method of installation is via Packagist and Composer. Run the following command to install the package and add it as a requirement to your project's composer.json:

composer require pfazzi/isbn-doctrine

Examples

Configuration

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

\Doctrine\DBAL\Types\Type::addType('isbn', 'Pfazzi\Isbn\Doctrine\IsbnType');

In Symfony:

# app/config/config.yml
doctrine:
   dbal:
       types:
           isbn: Pfazzi\Isbn\Doctrine\IsbnType

Then, in your models, you may annotate properties by setting the @Column type to isbn. Doctrine will handle the rest.

/**
 * @ORM\Entity()
 */
class Book
{
    /**
     * @ORM\Id()
     * @ORM\Column(type="isbn")
     *
     * @var Isbn
     */
    private $isbn;
    
    public function __construct(Isbn $isbn)
    {
        $this->isbn = $isbn;
    }

    public function getIsbn(): Isbn
    {
        return $this->isbn;
    }
}