Skip to content

Commit 2e22652

Browse files
authored
feat: update dependencies and base code to support laravel 12 (#314)
Signed-off-by: romanetar <roman_ag@hotmail.com>
1 parent 40dcda9 commit 2e22652

File tree

9 files changed

+762
-890
lines changed

9 files changed

+762
-890
lines changed

Libs/Utils/Doctrine/EscapingQuoteStrategy.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
use Doctrine\DBAL\Platforms\AbstractPlatform;
1616
use Doctrine\ORM\Mapping\QuoteStrategy;
1717
use Doctrine\ORM\Mapping\ClassMetadata;
18+
use Doctrine\ORM\Mapping\JoinColumnMapping;
19+
use Doctrine\ORM\Mapping\ManyToManyOwningSideMapping;
1820

1921
/**
2022
* A set of rules for determining the physical column, alias and table quotes and automatically escape database reserved
@@ -26,7 +28,7 @@ class EscapingQuoteStrategy implements QuoteStrategy
2628
/**
2729
* {@inheritdoc}
2830
*/
29-
public function getColumnName($fieldName, ClassMetadata $class, AbstractPlatform $platform)
31+
public function getColumnName($fieldName, ClassMetadata $class, AbstractPlatform $platform): string
3032
{
3133
if (isset($class->fieldMappings[$fieldName]['quoted'])) {
3234
return $platform->quoteIdentifier($class->fieldMappings[$fieldName]['columnName']);
@@ -42,7 +44,7 @@ public function getColumnName($fieldName, ClassMetadata $class, AbstractPlatform
4244
/**
4345
* {@inheritdoc}
4446
*/
45-
public function getTableName(ClassMetadata $class, AbstractPlatform $platform)
47+
public function getTableName(ClassMetadata $class, AbstractPlatform $platform): string
4648
{
4749
if (isset($class->table['quoted'])) {
4850
return $platform->quoteIdentifier($class->table['name']);
@@ -58,7 +60,7 @@ public function getTableName(ClassMetadata $class, AbstractPlatform $platform)
5860
/**
5961
* {@inheritdoc}
6062
*/
61-
public function getSequenceName(array $definition, ClassMetadata $class, AbstractPlatform $platform)
63+
public function getSequenceName(array $definition, ClassMetadata $class, AbstractPlatform $platform): string
6264
{
6365
if (isset($definition['quoted'])) {
6466
return $platform->quoteIdentifier($class->table['name']);
@@ -74,7 +76,7 @@ public function getSequenceName(array $definition, ClassMetadata $class, Abstrac
7476
/**
7577
* {@inheritdoc}
7678
*/
77-
public function getJoinColumnName(array $joinColumn, ClassMetadata $class, AbstractPlatform $platform)
79+
public function getJoinColumnName(array|JoinColumnMapping $joinColumn, ClassMetadata $class, AbstractPlatform $platform): string
7880
{
7981
if (isset($joinColumn['quoted'])) {
8082
return $platform->quoteIdentifier($joinColumn['name']);
@@ -90,7 +92,7 @@ public function getJoinColumnName(array $joinColumn, ClassMetadata $class, Abstr
9092
/**
9193
* {@inheritdoc}
9294
*/
93-
public function getReferencedJoinColumnName(array $joinColumn, ClassMetadata $class, AbstractPlatform $platform)
95+
public function getReferencedJoinColumnName(array|JoinColumnMapping $joinColumn, ClassMetadata $class, AbstractPlatform $platform): string
9496
{
9597
if (isset($joinColumn['quoted'])) {
9698
return $platform->quoteIdentifier($joinColumn['referencedColumnName']);
@@ -106,7 +108,7 @@ public function getReferencedJoinColumnName(array $joinColumn, ClassMetadata $cl
106108
/**
107109
* {@inheritdoc}
108110
*/
109-
public function getJoinTableName(array $association, ClassMetadata $class, AbstractPlatform $platform)
111+
public function getJoinTableName(array|ManyToManyOwningSideMapping $association, ClassMetadata $class, AbstractPlatform $platform): string
110112
{
111113
if (isset($association['joinTable']['quoted'])) {
112114
return $platform->quoteIdentifier($association['joinTable']['name']);
@@ -122,7 +124,7 @@ public function getJoinTableName(array $association, ClassMetadata $class, Abstr
122124
/**
123125
* {@inheritdoc}
124126
*/
125-
public function getIdentifierColumnNames(ClassMetadata $class, AbstractPlatform $platform)
127+
public function getIdentifierColumnNames(ClassMetadata $class, AbstractPlatform $platform): array
126128
{
127129
$quotedColumnNames = array();
128130

@@ -159,7 +161,7 @@ function ($joinColumn) use ($platform) {
159161
/**
160162
* {@inheritdoc}
161163
*/
162-
public function getColumnAlias($columnName, $counter, AbstractPlatform $platform, ClassMetadata $class = null)
164+
public function getColumnAlias($columnName, $counter, AbstractPlatform $platform, ClassMetadata $class = null): string
163165
{
164166
// 1 ) Concatenate column name and counter
165167
// 2 ) Trim the column alias to the maximum identifier length of the platform.

app/Audit/AuditEventListener.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323
*/
2424
class AuditEventListener {
2525

26-
public function onFlush(OnFlushEventArgs $eventArgs) {
27-
$em = $eventArgs->getEntityManager();
26+
public function onFlush(OnFlushEventArgs $eventArgs): void
27+
{
28+
$em = $eventArgs->getObjectManager();
2829
$uow = $em->getUnitOfWork();
2930

3031
$strategy = new AuditLogStrategy($em);

app/Models/Foundation/Summit/Registration/SummitTicketType.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
use App\Models\Foundation\Summit\AllowedCurrencies;
1515
use App\Models\Foundation\Summit\ScheduleEntity;
1616
use App\Models\Utils\Traits\FinancialTrait;
17+
use Doctrine\Persistence\Event\LifecycleEventArgs;
1718
use Illuminate\Support\Facades\Config;
1819
use Illuminate\Support\Facades\Log;
1920
use models\exceptions\ValidationException;
2021
use models\utils\SilverstripeBaseModel;
2122
use Doctrine\Common\Collections\ArrayCollection;
22-
use Doctrine\ORM\Event\LifecycleEventArgs;
2323
use Doctrine\ORM\Mapping AS ORM;
2424

2525
/**

app/Models/Foundation/Summit/ScheduleEntity.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private function _getSummitId(): int
5656
return 0;
5757
}
5858

59-
#[ORM\PreRemove] // :
59+
#[ORM\PreRemove]
6060
public function deleting($args)
6161
{
6262
Event::dispatch(new ScheduleEntityLifeCycleEvent('DELETE',
@@ -65,21 +65,19 @@ public function deleting($args)
6565
$this->_getClassName()));
6666
}
6767

68-
/**
69-
* @ORM\preRemove:
70-
*/
68+
#[ORM\PostRemove]
7169
public function deleted($args)
7270
{
7371
$this->cachedDeleted($args);
7472
}
7573

76-
#[ORM\PreUpdate] // :
74+
#[ORM\PreUpdate]
7775
public function updating(PreUpdateEventArgs $args)
7876
{
7977
parent::updating($args);
8078
}
8179

82-
#[ORM\PostUpdate] // :
80+
#[ORM\PostUpdate]
8381
public function updated($args)
8482
{
8583
Log::debug(sprintf("ScheduleEntity::updated id %s", $this->id));

app/Models/Utils/PreRemoveEventArgs.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* limitations under the License.
1414
**/
1515

16-
use Doctrine\ORM\Event\LifecycleEventArgs;
16+
use Doctrine\Persistence\Event\LifecycleEventArgs;
1717

1818
/**
1919
* Class PreRemoveEventArgs

app/Repositories/DoctrineRepository.php

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@
1414

1515
use Doctrine\Common\Collections\Criteria;
1616
use Doctrine\ORM\EntityManager;
17+
use Doctrine\ORM\EntityManagerInterface;
1718
use Doctrine\ORM\EntityRepository;
1819
use Doctrine\ORM\LazyCriteriaCollection;
1920
use Doctrine\ORM\NativeQuery;
2021
use Doctrine\ORM\Query;
2122
use Doctrine\ORM\Query\ResultSetMappingBuilder;
2223
use Doctrine\ORM\QueryBuilder;
2324
use Doctrine\ORM\Tools\Pagination\Paginator;
25+
use Doctrine\Common\Collections\AbstractLazyCollection;
26+
use Doctrine\Common\Collections\Selectable;
2427
use Illuminate\Support\Facades\Log;
2528
use LaravelDoctrine\ORM\Facades\Registry;
2629
use models\utils\IBaseRepository;
@@ -45,7 +48,7 @@ abstract class DoctrineRepository extends EntityRepository implements IBaseRepos
4548
/**
4649
* @return EntityManager
4750
*/
48-
protected function getEntityManager()
51+
protected function getEntityManager():EntityManagerInterface
4952
{
5053
return Registry::getManager($this->manager_name);
5154
}
@@ -341,11 +344,11 @@ public function getAllIdsByPage(PagingInfo $paging_info, Filter $filter = null,
341344
*
342345
* @return QueryBuilder
343346
*/
344-
public function createQueryBuilder($alias, $indexBy = null)
347+
public function createQueryBuilder($alias, $indexBy = null): QueryBuilder
345348
{
346349
return $this->getEntityManager()->createQueryBuilder()
347350
->select($alias)
348-
->from($this->_entityName, $alias, $indexBy);
351+
->from($this->getEntityName(), $alias, $indexBy);
349352
}
350353

351354
/**
@@ -357,10 +360,10 @@ public function createQueryBuilder($alias, $indexBy = null)
357360
*
358361
* @return ResultSetMappingBuilder
359362
*/
360-
public function createResultSetMappingBuilder($alias)
363+
public function createResultSetMappingBuilder($alias): ResultSetMappingBuilder
361364
{
362365
$rsm = new ResultSetMappingBuilder($this->getEntityManager(), ResultSetMappingBuilder::COLUMN_RENAMING_INCREMENT);
363-
$rsm->addRootEntityFromClassMetadata($this->_entityName, $alias);
366+
$rsm->addRootEntityFromClassMetadata($this->getEntityName(), $alias);
364367

365368
return $rsm;
366369
}
@@ -414,10 +417,10 @@ public function clear()
414417
*
415418
* @return object|null The entity instance or NULL if the entity can not be found.
416419
*/
417-
public function find($id, $lockMode = null, $lockVersion = null, $refresh = false)
420+
public function find($id, $lockMode = null, $lockVersion = null, $refresh = false): ?object
418421
{
419422
$em = $this->getEntityManager();
420-
$res = $em->find($this->_entityName, $id, $lockMode, $lockVersion);
423+
$res = $em->find($this->getEntityName(), $id, $lockMode, $lockVersion);
421424
if($refresh)
422425
$em->refresh($res);
423426
return $res;
@@ -433,9 +436,9 @@ public function find($id, $lockMode = null, $lockVersion = null, $refresh = fals
433436
*
434437
* @return array The objects.
435438
*/
436-
public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
439+
public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null): array
437440
{
438-
$persister = $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->_entityName);
441+
$persister = $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->getEntityName());
439442

440443
return $persister->loadAll($criteria, $orderBy, $limit, $offset);
441444
}
@@ -448,9 +451,9 @@ public function findBy(array $criteria, array $orderBy = null, $limit = null, $o
448451
*
449452
* @return object|null The entity instance or NULL if the entity can not be found.
450453
*/
451-
public function findOneBy(array $criteria, array $orderBy = null)
454+
public function findOneBy(array $criteria, array $orderBy = null): ?object
452455
{
453-
$persister = $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->_entityName);
456+
$persister = $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->getEntityName());
454457

455458
return $persister->load($criteria, null, null, [], null, 1, $orderBy);
456459
}
@@ -464,22 +467,22 @@ public function findOneBy(array $criteria, array $orderBy = null)
464467
*
465468
* @return int The cardinality of the objects that match the given criteria.
466469
*/
467-
public function count(array $criteria)
470+
public function count(array $criteria = []): int
468471
{
469-
return $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->_entityName)->count($criteria);
472+
return $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->getEntityName())->count($criteria);
470473
}
471474

472475
/**
473476
* Select all elements from a selectable that match the expression and
474477
* return a new collection containing these elements.
475478
*
476-
* @param \Doctrine\Common\Collections\Criteria $criteria
479+
* @param Criteria $criteria
477480
*
478-
* @return \Doctrine\Common\Collections\Collection
481+
* @return AbstractLazyCollection&Selectable
479482
*/
480-
public function matching(Criteria $criteria)
483+
public function matching(Criteria $criteria): AbstractLazyCollection&Selectable
481484
{
482-
$persister = $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->_entityName);
485+
$persister = $this->getEntityManager()->getUnitOfWork()->getEntityPersister($this->getEntityName());
483486

484487
return new LazyCriteriaCollection($persister, $criteria);
485488
}

composer.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88
"license": "MIT",
99
"type": "project",
1010
"require": {
11-
"php": "^8.2",
11+
"php": "^8.3",
1212
"ext-gd": "*",
1313
"ext-imagick": "*",
1414
"ext-json": "*",
1515
"ext-openssl": "*",
1616
"ext-pdo": "*",
1717
"ext-zlib": "*",
18-
"laravel/framework": "11.44.1",
18+
"laravel/framework": "12.1.1",
1919
"laravel/helpers": "^1.7.0",
20-
"laravel/tinker": "2.9.0",
21-
"laravel-doctrine/orm": "2.1.0",
22-
"laravel-doctrine/extensions": "1.7.0",
23-
"laravel-doctrine/migrations": "3.2.0",
20+
"laravel/tinker": "2.10.1",
21+
"laravel-doctrine/orm": "3.1.1",
22+
"laravel-doctrine/extensions": "2.0.1",
23+
"laravel-doctrine/migrations": "3.4.0",
2424
"beberlei/doctrineextensions": "1.5.0",
2525
"affinipay/chargeio-php": "dev-master",
2626
"behat/transliterator": "^1.2",
@@ -48,13 +48,13 @@
4848
"stripe/stripe-php": "^7.95.0",
4949
"symfony/yaml": "^7.1.1",
5050
"tecnickcom/tcpdf": "^6.2",
51-
"vladimir-yuldashev/laravel-queue-rabbitmq": "v14.1.0",
51+
"vladimir-yuldashev/laravel-queue-rabbitmq": "v14.2.0",
5252
"laminas/laminas-math": "^3.7"
5353
},
5454
"require-dev": {
5555
"fakerphp/faker": "^1.23",
5656
"filp/whoops": "^2.0",
57-
"laravel/browser-kit-testing": "7.2.0",
57+
"laravel/browser-kit-testing": "7.2.4",
5858
"mockery/mockery": "^1.6",
5959
"phpunit/phpunit": "^11.0.1",
6060
"rector/rector": "*",

0 commit comments

Comments
 (0)