zend-blog-3-backend
18 строк · 483.0 Байт
1<?php
2
3namespace App\Doctrine\ORM;
4
5use Doctrine\ORM\EntityManager;
6use Doctrine\ORM\Id\AbstractIdGenerator;
7
8class IpLongIdGenerator extends AbstractIdGenerator
9{
10public function generate(EntityManager $em, $entity)
11{
12if (!$entity || !method_exists($entity, 'getIpAddress')) {
13throw new \RuntimeException('IpLongIdGenerator not supported for ' . $entity ? get_class($entity) : 'null');
14}
15
16return ip2long($entity->getIpAddress());
17}
18}
19