PHP code example of consistence / consistence-doctrine
1. Go to this page and download the library: Download consistence/consistence-doctrine library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
consistence / consistence-doctrine example snippets
namespace Consistence\Doctrine\Example\User;
class Sex extends \Consistence\Enum\Enum
{
public const FEMALE = 'female';
public const MALE = 'male';
}
namespace Consistence\Doctrine\Example\User;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity()
*/
class User extends \Consistence\ObjectPrototype
{
// ...
/**
* @ORM\Column(type="enum<Consistence\Doctrine\Example\User\Sex>", nullable=true)
* @var \Consistence\Doctrine\Example\User\Sex|null
*/
private $sex;
// ...
public function __construct(
// ...
Sex $sex = null
// ...
)
{
// ...
$this->sex = $sex;
// ...
}
// ...
}
use Consistence\Doctrine\Enum\Type\StringEnumType;
use Consistence\Doctrine\Example\User\Sex;
use Doctrine\DBAL\Types\Type as DoctrineType;
foreach ([
StringEnumType::create(Sex::class),
] as $type) {
DoctrineType::getTypeRegistry()->register($type->getName(), $type);
}
namespace Consistence\Doctrine\Example\User;
$user = new User(
// ...
Sex::get(Sex::FEMALE)
// ...
);
/** @var \Doctrine\ORM\EntityManager $entityManager */
$entityManager->persist($user);
// when persisting User::$sex to database, `female` will be saved
$entityManager->flush();