From 99093a9ff94d6c5e6f9e4cc66823d127e71ffc82 Mon Sep 17 00:00:00 2001 From: Oksana Mykulanynets Date: Tue, 29 Jul 2025 16:12:14 +0300 Subject: [PATCH 1/2] ci: add PHP 8.3 to GitHub Actions matrix --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 789cb8a..556efbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: name: PHP ${{ matrix.php }} - Doctrine ${{ matrix.doctrine }} strategy: matrix: - php: ['8.0', '8.1', '8.2'] + php: ['8.0', '8.1', '8.2', '8.3'] doctrine: ['2.11', '2.12', '2.13', '2.14'] steps: - uses: actions/checkout@v3 From 81d9e88e1a066b97f500b262174bf1eed6ed7210 Mon Sep 17 00:00:00 2001 From: Oksana Mykulanynets Date: Tue, 29 Jul 2025 16:40:26 +0300 Subject: [PATCH 2/2] Add php 8.4 support --- .github/workflows/ci.yml | 2 +- src/Builders/AbstractBuilder.php | 4 +- src/Builders/Builder.php | 20 ++-- src/Builders/Field.php | 2 +- src/Builders/Traits/Aliases.php | 22 ++--- src/Builders/Traits/Dates.php | 24 ++--- src/Builders/Traits/Fields.php | 32 +++---- src/Builders/Traits/Macroable.php | 2 +- src/Builders/Traits/Queueable.php | 2 +- src/Builders/Traits/Relations.php | 20 ++-- src/Extensions/Gedmo/GedmoFieldHints.php | 2 +- src/Extensions/Gedmo/MaterializedPath.php | 2 +- src/Extensions/Gedmo/NestedSet.php | 6 +- src/Extensions/Gedmo/Tree.php | 2 +- src/Extensions/Gedmo/TreeStrategy.php | 8 +- src/Fluent.php | 106 +++++++++++----------- src/FluentDriver.php | 2 +- src/Relations/ManyToOne.php | 2 +- 18 files changed, 130 insertions(+), 130 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 556efbc..94f0b6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: name: PHP ${{ matrix.php }} - Doctrine ${{ matrix.doctrine }} strategy: matrix: - php: ['8.0', '8.1', '8.2', '8.3'] + php: ['8.0', '8.1', '8.2', '8.3', '8.4'] doctrine: ['2.11', '2.12', '2.13', '2.14'] steps: - uses: actions/checkout@v3 diff --git a/src/Builders/AbstractBuilder.php b/src/Builders/AbstractBuilder.php index 83624a4..fe7f489 100644 --- a/src/Builders/AbstractBuilder.php +++ b/src/Builders/AbstractBuilder.php @@ -21,9 +21,9 @@ abstract class AbstractBuilder /** * @param ClassMetadataBuilder $builder - * @param NamingStrategy $namingStrategy + * @param NamingStrategy|null $namingStrategy */ - public function __construct(ClassMetadataBuilder $builder, NamingStrategy $namingStrategy = null) + public function __construct(ClassMetadataBuilder $builder, ?NamingStrategy $namingStrategy = null) { $this->builder = $builder; $this->namingStrategy = $namingStrategy ?: new DefaultNamingStrategy(); diff --git a/src/Builders/Builder.php b/src/Builders/Builder.php index 7c42858..0517457 100644 --- a/src/Builders/Builder.php +++ b/src/Builders/Builder.php @@ -9,7 +9,7 @@ use LogicException; /** - * @method Field array($name, callable $callback = null) + * @method Field array($name, ?callable $callback = null) */ class Builder extends AbstractBuilder implements Fluent { @@ -26,7 +26,7 @@ class Builder extends AbstractBuilder implements Fluent /** * {@inheritdoc} */ - public function table($name, callable $callback = null) + public function table($name, ?callable $callback = null) { $this->disallowInEmbeddedClasses(); @@ -40,7 +40,7 @@ public function table($name, callable $callback = null) /** * {@inheritdoc} */ - public function entity(callable $callback = null) + public function entity(?callable $callback = null) { $this->disallowInEmbeddedClasses(); @@ -54,7 +54,7 @@ public function entity(callable $callback = null) /** * {@inheritdoc} */ - public function inheritance($type, callable $callback = null) + public function inheritance($type, ?callable $callback = null) { $inheritance = Inheritance\InheritanceFactory::create($type, $this->builder); @@ -66,7 +66,7 @@ public function inheritance($type, callable $callback = null) /** * {@inheritdoc} */ - public function singleTableInheritance(callable $callback = null) + public function singleTableInheritance(?callable $callback = null) { return $this->inheritance(Inheritance\Inheritance::SINGLE, $callback); } @@ -74,7 +74,7 @@ public function singleTableInheritance(callable $callback = null) /** * {@inheritdoc} */ - public function joinedTableInheritance(callable $callback = null) + public function joinedTableInheritance(?callable $callback = null) { return $this->inheritance(Inheritance\Inheritance::JOINED, $callback); } @@ -82,7 +82,7 @@ public function joinedTableInheritance(callable $callback = null) /** * {@inheritdoc} */ - public function embed($embeddable, $field = null, callable $callback = null) + public function embed($embeddable, $field = null, ?callable $callback = null) { $embedded = new Embedded( $this->builder, @@ -116,7 +116,7 @@ public function override($name, callable $callback) /** * {@inheritdoc} */ - public function events(callable $callback = null) + public function events(?callable $callback = null) { $events = new LifecycleEvents($this->builder); @@ -128,7 +128,7 @@ public function events(callable $callback = null) /** * {@inheritdoc} */ - public function listen(callable $callback = null) + public function listen(?callable $callback = null) { $events = new EntityListeners($this->builder); @@ -151,7 +151,7 @@ public function isEmbeddedClass() * * @return Field */ - protected function setArray($name, callable $callback = null) + protected function setArray($name, ?callable $callback = null) { return $this->field(Types::ARRAY, $name, $callback); } diff --git a/src/Builders/Field.php b/src/Builders/Field.php index 24c5819..537ba2c 100644 --- a/src/Builders/Field.php +++ b/src/Builders/Field.php @@ -161,7 +161,7 @@ public function autoIncrement() * * @return Field */ - public function generatedValue(callable $callback = null) + public function generatedValue(?callable $callback = null) { $generatedValue = new GeneratedValue($this->fieldBuilder, $this->classMetadata); diff --git a/src/Builders/Traits/Aliases.php b/src/Builders/Traits/Aliases.php index 861e0b8..98f9e35 100644 --- a/src/Builders/Traits/Aliases.php +++ b/src/Builders/Traits/Aliases.php @@ -7,7 +7,7 @@ trait Aliases /** * {@inheritdoc} */ - public function increments($name, callable $callback = null) + public function increments($name, ?callable $callback = null) { $this->disallowInEmbeddedClasses(); @@ -17,7 +17,7 @@ public function increments($name, callable $callback = null) /** * {@inheritdoc} */ - public function smallIncrements($name, callable $callback = null) + public function smallIncrements($name, ?callable $callback = null) { $this->disallowInEmbeddedClasses(); @@ -27,7 +27,7 @@ public function smallIncrements($name, callable $callback = null) /** * {@inheritdoc} */ - public function bigIncrements($name, callable $callback = null) + public function bigIncrements($name, ?callable $callback = null) { $this->disallowInEmbeddedClasses(); @@ -37,7 +37,7 @@ public function bigIncrements($name, callable $callback = null) /** * {@inheritdoc} */ - public function unsignedSmallInteger($name, callable $callback = null) + public function unsignedSmallInteger($name, ?callable $callback = null) { return $this->smallInteger($name, $callback)->unsigned(); } @@ -45,7 +45,7 @@ public function unsignedSmallInteger($name, callable $callback = null) /** * {@inheritdoc} */ - public function unsignedInteger($name, callable $callback = null) + public function unsignedInteger($name, ?callable $callback = null) { return $this->integer($name, $callback)->unsigned(); } @@ -53,7 +53,7 @@ public function unsignedInteger($name, callable $callback = null) /** * {@inheritdoc} */ - public function unsignedBigInteger($name, callable $callback = null) + public function unsignedBigInteger($name, ?callable $callback = null) { return $this->bigInteger($name, $callback)->unsigned(); } @@ -61,7 +61,7 @@ public function unsignedBigInteger($name, callable $callback = null) /** * {@inheritdoc} */ - public function rememberToken($name = 'rememberToken', callable $callback = null) + public function rememberToken($name = 'rememberToken', ?callable $callback = null) { return $this->string($name, $callback)->nullable()->length(100); } @@ -79,7 +79,7 @@ abstract protected function disallowInEmbeddedClasses($message = ''); * * @return \LaravelDoctrine\Fluent\Builders\Field */ - abstract public function integer($name, callable $callback = null); + abstract public function integer($name, ?callable $callback = null); /** * @param string $name @@ -87,7 +87,7 @@ abstract public function integer($name, callable $callback = null); * * @return \LaravelDoctrine\Fluent\Builders\Field */ - abstract public function smallInteger($name, callable $callback = null); + abstract public function smallInteger($name, ?callable $callback = null); /** * @param string $name @@ -95,7 +95,7 @@ abstract public function smallInteger($name, callable $callback = null); * * @return \LaravelDoctrine\Fluent\Builders\Field */ - abstract public function bigInteger($name, callable $callback = null); + abstract public function bigInteger($name, ?callable $callback = null); /** * @param string $name @@ -103,5 +103,5 @@ abstract public function bigInteger($name, callable $callback = null); * * @return \LaravelDoctrine\Fluent\Builders\Field */ - abstract public function string($name, callable $callback = null); + abstract public function string($name, ?callable $callback = null); } diff --git a/src/Builders/Traits/Dates.php b/src/Builders/Traits/Dates.php index d8592e0..b4df4d6 100644 --- a/src/Builders/Traits/Dates.php +++ b/src/Builders/Traits/Dates.php @@ -9,7 +9,7 @@ trait Dates /** * {@inheritdoc} */ - public function date($name, callable $callback = null) + public function date($name, ?callable $callback = null) { return $this->field(Types::DATE_MUTABLE, $name, $callback); } @@ -17,7 +17,7 @@ public function date($name, callable $callback = null) /** * {@inheritdoc} */ - public function dateTime($name, callable $callback = null) + public function dateTime($name, ?callable $callback = null) { return $this->field(Types::DATETIME_MUTABLE, $name, $callback); } @@ -25,7 +25,7 @@ public function dateTime($name, callable $callback = null) /** * {@inheritdoc} */ - public function dateTimeTz($name, callable $callback = null) + public function dateTimeTz($name, ?callable $callback = null) { return $this->field(Types::DATETIMETZ_MUTABLE, $name, $callback); } @@ -33,7 +33,7 @@ public function dateTimeTz($name, callable $callback = null) /** * {@inheritdoc} */ - public function time($name, callable $callback = null) + public function time($name, ?callable $callback = null) { return $this->field(Types::TIME_MUTABLE, $name, $callback); } @@ -41,7 +41,7 @@ public function time($name, callable $callback = null) /** * {@inheritdoc} */ - public function carbonDateTime($name, callable $callback = null) + public function carbonDateTime($name, ?callable $callback = null) { return $this->field('carbondatetime', $name, $callback); } @@ -49,7 +49,7 @@ public function carbonDateTime($name, callable $callback = null) /** * {@inheritdoc} */ - public function carbonDateTimeTz($name, callable $callback = null) + public function carbonDateTimeTz($name, ?callable $callback = null) { return $this->field('carbondatetimetz', $name, $callback); } @@ -57,7 +57,7 @@ public function carbonDateTimeTz($name, callable $callback = null) /** * {@inheritdoc} */ - public function carbonDate($name, callable $callback = null) + public function carbonDate($name, ?callable $callback = null) { return $this->field('carbondate', $name, $callback); } @@ -65,7 +65,7 @@ public function carbonDate($name, callable $callback = null) /** * {@inheritdoc} */ - public function carbonTime($name, callable $callback = null) + public function carbonTime($name, ?callable $callback = null) { return $this->field('carbontime', $name, $callback); } @@ -73,7 +73,7 @@ public function carbonTime($name, callable $callback = null) /** * {@inheritdoc} */ - public function zendDate($name, callable $callback = null) + public function zendDate($name, ?callable $callback = null) { return $this->field('zenddate', $name, $callback); } @@ -81,7 +81,7 @@ public function zendDate($name, callable $callback = null) /** * {@inheritdoc} */ - public function timestamp($name, callable $callback = null) + public function timestamp($name, ?callable $callback = null) { return $this->carbonDateTime($name, $callback); } @@ -89,7 +89,7 @@ public function timestamp($name, callable $callback = null) /** * {@inheritdoc} */ - public function timestampTz($name, callable $callback = null) + public function timestampTz($name, ?callable $callback = null) { return $this->carbonDateTimeTz($name, $callback); } @@ -101,5 +101,5 @@ public function timestampTz($name, callable $callback = null) * * @return \LaravelDoctrine\Fluent\Builders\Field */ - abstract public function field($type, $name, callable $callback = null); + abstract public function field($type, $name, ?callable $callback = null); } diff --git a/src/Builders/Traits/Fields.php b/src/Builders/Traits/Fields.php index 280a007..03384f2 100644 --- a/src/Builders/Traits/Fields.php +++ b/src/Builders/Traits/Fields.php @@ -11,7 +11,7 @@ trait Fields /** * {@inheritdoc} */ - public function field($type, $name, callable $callback = null) + public function field($type, $name, ?callable $callback = null) { $field = Field::make($this->getBuilder(), $type, $name); @@ -23,7 +23,7 @@ public function field($type, $name, callable $callback = null) /** * {@inheritdoc} */ - public function string($name, callable $callback = null) + public function string($name, ?callable $callback = null) { return $this->field(Types::STRING, $name, $callback); } @@ -31,7 +31,7 @@ public function string($name, callable $callback = null) /** * {@inheritdoc} */ - public function text($name, callable $callback = null) + public function text($name, ?callable $callback = null) { return $this->field(Types::TEXT, $name, $callback); } @@ -39,7 +39,7 @@ public function text($name, callable $callback = null) /** * {@inheritdoc} */ - public function integer($name, callable $callback = null) + public function integer($name, ?callable $callback = null) { return $this->field(Types::INTEGER, $name, $callback); } @@ -47,7 +47,7 @@ public function integer($name, callable $callback = null) /** * {@inheritdoc} */ - public function smallInteger($name, callable $callback = null) + public function smallInteger($name, ?callable $callback = null) { return $this->field(Types::SMALLINT, $name, $callback); } @@ -55,7 +55,7 @@ public function smallInteger($name, callable $callback = null) /** * {@inheritdoc} */ - public function bigInteger($name, callable $callback = null) + public function bigInteger($name, ?callable $callback = null) { return $this->field(Types::BIGINT, $name, $callback); } @@ -63,7 +63,7 @@ public function bigInteger($name, callable $callback = null) /** * {@inheritdoc} */ - public function guid($name, callable $callback = null) + public function guid($name, ?callable $callback = null) { return $this->field(Types::GUID, $name, $callback); } @@ -71,7 +71,7 @@ public function guid($name, callable $callback = null) /** * {@inheritdoc} */ - public function blob($name, callable $callback = null) + public function blob($name, ?callable $callback = null) { return $this->field(Types::BLOB, $name, $callback); } @@ -79,7 +79,7 @@ public function blob($name, callable $callback = null) /** * {@inheritdoc} */ - public function object($name, callable $callback = null) + public function object($name, ?callable $callback = null) { return $this->field(Types::OBJECT, $name, $callback); } @@ -87,7 +87,7 @@ public function object($name, callable $callback = null) /** * {@inheritdoc} */ - public function float($name, callable $callback = null) + public function float($name, ?callable $callback = null) { return $this->field(Types::FLOAT, $name, $callback)->precision(8)->scale(2); } @@ -95,7 +95,7 @@ public function float($name, callable $callback = null) /** * {@inheritdoc} */ - public function decimal($name, callable $callback = null) + public function decimal($name, ?callable $callback = null) { return $this->field(Types::DECIMAL, $name, $callback)->precision(8)->scale(2); } @@ -103,7 +103,7 @@ public function decimal($name, callable $callback = null) /** * {@inheritdoc} */ - public function boolean($name, callable $callback = null) + public function boolean($name, ?callable $callback = null) { return $this->field(Types::BOOLEAN, $name, $callback); } @@ -111,7 +111,7 @@ public function boolean($name, callable $callback = null) /** * {@inheritdoc} */ - public function simpleArray($name, callable $callback = null) + public function simpleArray($name, ?callable $callback = null) { return $this->field(Types::SIMPLE_ARRAY, $name, $callback); } @@ -119,7 +119,7 @@ public function simpleArray($name, callable $callback = null) /** * {@inheritdoc} */ - public function jsonArray($name, callable $callback = null) + public function jsonArray($name, ?callable $callback = null) { return $this->field(Types::JSON, $name, $callback); } @@ -127,7 +127,7 @@ public function jsonArray($name, callable $callback = null) /** * {@inheritdoc} */ - public function binary($name, callable $callback = null) + public function binary($name, ?callable $callback = null) { return $this->field(Types::BINARY, $name, $callback)->nullable(); } @@ -141,5 +141,5 @@ abstract public function getBuilder(); * @param Buildable $buildable * @param callable|null $callback */ - abstract protected function callbackAndQueue(Buildable $buildable, callable $callback = null); + abstract protected function callbackAndQueue(Buildable $buildable, ?callable $callback = null); } diff --git a/src/Builders/Traits/Macroable.php b/src/Builders/Traits/Macroable.php index f7c1668..d829c5f 100644 --- a/src/Builders/Traits/Macroable.php +++ b/src/Builders/Traits/Macroable.php @@ -15,7 +15,7 @@ trait Macroable * @param string $method * @param callable|null $callback */ - public static function macro($method, callable $callback = null) + public static function macro($method, ?callable $callback = null) { if (!is_callable($callback)) { throw new InvalidArgumentException('Macros should be used with a closure argument, none given'); diff --git a/src/Builders/Traits/Queueable.php b/src/Builders/Traits/Queueable.php index 7deaaad..ae7daa4 100644 --- a/src/Builders/Traits/Queueable.php +++ b/src/Builders/Traits/Queueable.php @@ -24,7 +24,7 @@ protected function queue(Buildable $buildable) * @param Buildable $buildable * @param callable|null $callback */ - public function callbackAndQueue(Buildable $buildable, callable $callback = null) + public function callbackAndQueue(Buildable $buildable, ?callable $callback = null) { $this->callIfCallable($callback, $buildable); diff --git a/src/Builders/Traits/Relations.php b/src/Builders/Traits/Relations.php index 5c1047e..1084b7a 100644 --- a/src/Builders/Traits/Relations.php +++ b/src/Builders/Traits/Relations.php @@ -15,7 +15,7 @@ trait Relations /** * {@inheritdoc} */ - public function hasOne($entity, $field = null, callable $callback = null) + public function hasOne($entity, $field = null, ?callable $callback = null) { return $this->oneToOne($entity, $field, $callback)->ownedBy( $this->guessSingularField($entity) @@ -25,7 +25,7 @@ public function hasOne($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function oneToOne($entity, $field = null, callable $callback = null) + public function oneToOne($entity, $field = null, ?callable $callback = null) { return $this->addRelation( new OneToOne( @@ -41,7 +41,7 @@ public function oneToOne($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function belongsTo($entity, $field = null, callable $callback = null) + public function belongsTo($entity, $field = null, ?callable $callback = null) { return $this->manyToOne($entity, $field, $callback); } @@ -49,7 +49,7 @@ public function belongsTo($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function manyToOne($entity, $field = null, callable $callback = null) + public function manyToOne($entity, $field = null, ?callable $callback = null) { return $this->addRelation( new ManyToOne( @@ -65,7 +65,7 @@ public function manyToOne($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function hasMany($entity, $field = null, callable $callback = null) + public function hasMany($entity, $field = null, ?callable $callback = null) { return $this->oneToMany($entity, $field, $callback); } @@ -73,7 +73,7 @@ public function hasMany($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function oneToMany($entity, $field = null, callable $callback = null) + public function oneToMany($entity, $field = null, ?callable $callback = null) { return $this->addRelation( new OneToMany( @@ -89,7 +89,7 @@ public function oneToMany($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function belongsToMany($entity, $field = null, callable $callback = null) + public function belongsToMany($entity, $field = null, ?callable $callback = null) { return $this->manyToMany($entity, $field, $callback); } @@ -97,7 +97,7 @@ public function belongsToMany($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function manyToMany($entity, $field = null, callable $callback = null) + public function manyToMany($entity, $field = null, ?callable $callback = null) { return $this->addRelation( new ManyToMany( @@ -113,7 +113,7 @@ public function manyToMany($entity, $field = null, callable $callback = null) /** * {@inheritdoc} */ - public function addRelation(Relation $relation, callable $callback = null) + public function addRelation(Relation $relation, ?callable $callback = null) { $this->callbackAndQueue($relation, $callback); @@ -153,7 +153,7 @@ abstract public function getBuilder(); * @param Buildable $buildable * @param callable|null $callback */ - abstract protected function callbackAndQueue(Buildable $buildable, callable $callback = null); + abstract protected function callbackAndQueue(Buildable $buildable, ?callable $callback = null); /** * @return \Doctrine\ORM\Mapping\NamingStrategy diff --git a/src/Extensions/Gedmo/GedmoFieldHints.php b/src/Extensions/Gedmo/GedmoFieldHints.php index fa5c4dc..8ad08e9 100644 --- a/src/Extensions/Gedmo/GedmoFieldHints.php +++ b/src/Extensions/Gedmo/GedmoFieldHints.php @@ -16,7 +16,7 @@ * @method void treeLeft() * @method void treeLevel() * @method void treeParent() - * @method TreePath treePath($separator = '|', callable $callback = null) + * @method TreePath treePath($separator = '|', ?callable $callback = null) * @method void treePathHash() * @method void treePathSource() * @method void treeRight() diff --git a/src/Extensions/Gedmo/MaterializedPath.php b/src/Extensions/Gedmo/MaterializedPath.php index d66477e..eb47ec5 100644 --- a/src/Extensions/Gedmo/MaterializedPath.php +++ b/src/Extensions/Gedmo/MaterializedPath.php @@ -67,7 +67,7 @@ public static function enable() * * @return $this */ - public function path($field = 'path', $separator = '|', callable $callback = null) + public function path($field = 'path', $separator = '|', ?callable $callback = null) { $this->mapField('string', $field, null, true); diff --git a/src/Extensions/Gedmo/NestedSet.php b/src/Extensions/Gedmo/NestedSet.php index 21a3ed3..e23ca56 100644 --- a/src/Extensions/Gedmo/NestedSet.php +++ b/src/Extensions/Gedmo/NestedSet.php @@ -45,7 +45,7 @@ public static function enable() * * @return $this */ - public function left($field = 'left', $type = 'integer', callable $callback = null) + public function left($field = 'left', $type = 'integer', ?callable $callback = null) { $this->validateNumericField($type, $field); @@ -65,7 +65,7 @@ public function left($field = 'left', $type = 'integer', callable $callback = nu * * @return $this */ - public function right($field = 'right', $type = 'integer', callable $callback = null) + public function right($field = 'right', $type = 'integer', ?callable $callback = null) { $this->validateNumericField($type, $field); @@ -82,7 +82,7 @@ public function right($field = 'right', $type = 'integer', callable $callback = * * @return $this */ - public function root($field = 'root', callable $callback = null) + public function root($field = 'root', ?callable $callback = null) { $this->addSelfReferencingRelation($field, $callback); diff --git a/src/Extensions/Gedmo/Tree.php b/src/Extensions/Gedmo/Tree.php index b72bb53..a383bf7 100644 --- a/src/Extensions/Gedmo/Tree.php +++ b/src/Extensions/Gedmo/Tree.php @@ -34,7 +34,7 @@ public function __construct(Fluent $builder) */ public static function enable() { - Builder::macro(self::MACRO_METHOD, function (Fluent $builder, callable $callback = null) { + Builder::macro(self::MACRO_METHOD, function (Fluent $builder, ?callable $callback = null) { $tree = new static($builder); if (is_callable($callback)) { diff --git a/src/Extensions/Gedmo/TreeStrategy.php b/src/Extensions/Gedmo/TreeStrategy.php index bd97ad2..5787833 100644 --- a/src/Extensions/Gedmo/TreeStrategy.php +++ b/src/Extensions/Gedmo/TreeStrategy.php @@ -52,7 +52,7 @@ public static function enable() * * @return $this */ - public function level($field = 'level', $type = 'integer', callable $callback = null) + public function level($field = 'level', $type = 'integer', ?callable $callback = null) { $this->validateNumericField($type, $field); @@ -69,7 +69,7 @@ public function level($field = 'level', $type = 'integer', callable $callback = * * @return $this */ - public function parent($field = 'parent', callable $callback = null) + public function parent($field = 'parent', ?callable $callback = null) { $this->addSelfReferencingRelation($field, $callback); @@ -104,7 +104,7 @@ protected function getExtensionName() * @param callable|null $callback * @param bool|false $nullable */ - protected function mapField($type, $field, callable $callback = null, $nullable = false) + protected function mapField($type, $field, ?callable $callback = null, $nullable = false) { $this->builder->field($type, $field, $callback)->nullable($nullable); } @@ -136,7 +136,7 @@ protected function myself() * @param string $field * @param callable|null $callback */ - protected function addSelfReferencingRelation($field, callable $callback = null) + protected function addSelfReferencingRelation($field, ?callable $callback = null) { $this->builder->belongsTo($this->myself(), $field, $callback)->nullable(); } diff --git a/src/Fluent.php b/src/Fluent.php index f7f0b47..857a82f 100644 --- a/src/Fluent.php +++ b/src/Fluent.php @@ -3,14 +3,14 @@ namespace LaravelDoctrine\Fluent; /** - * @method Builders\Field array($name, callable $callback = null) + * @method Builders\Field array($name, ?callable $callback = null) * * Extensions: * @method void loggable(string $logEntry = null) * @method Extensions\Gedmo\SoftDeleteable softDelete(string $fieldName = 'deletedAt', string $type = 'dateTime') * @method void timestamps(string $createdAt = 'createdAt', string $updatedAt = 'updatedAt', string $type = 'dateTime') * @method Extensions\Gedmo\TranslationClass translationClass(string $class) - * @method Extensions\Gedmo\Tree tree(callable $callback = null) + * @method Extensions\Gedmo\Tree tree(?callable $callback = null) * @method Extensions\Gedmo\Uploadable uploadable() * @method locale(string $fieldName) */ @@ -22,14 +22,14 @@ interface Fluent extends Buildable * * @return Builders\Table */ - public function table($name, callable $callback = null); + public function table($name, ?callable $callback = null); /** * @param callable|null $callback * * @return Builders\Entity */ - public function entity(callable $callback = null); + public function entity(?callable $callback = null); /** * @param array|string $columns @@ -52,7 +52,7 @@ public function unique($columns); * * @return Builders\Field */ - public function field($type, $name, callable $callback = null); + public function field($type, $name, ?callable $callback = null); /** * @param string $name @@ -60,7 +60,7 @@ public function field($type, $name, callable $callback = null); * * @return Builders\Field */ - public function increments($name, callable $callback = null); + public function increments($name, ?callable $callback = null); /** * @param string $name @@ -68,7 +68,7 @@ public function increments($name, callable $callback = null); * * @return Builders\Field */ - public function smallIncrements($name, callable $callback = null); + public function smallIncrements($name, ?callable $callback = null); /** * @param string $name @@ -76,7 +76,7 @@ public function smallIncrements($name, callable $callback = null); * * @return Builders\Field */ - public function bigIncrements($name, callable $callback = null); + public function bigIncrements($name, ?callable $callback = null); /** * @param string $name @@ -84,7 +84,7 @@ public function bigIncrements($name, callable $callback = null); * * @return Builders\Field */ - public function string($name, callable $callback = null); + public function string($name, ?callable $callback = null); /** * @param string $name @@ -92,7 +92,7 @@ public function string($name, callable $callback = null); * * @return Builders\Field */ - public function text($name, callable $callback = null); + public function text($name, ?callable $callback = null); /** * @param string $name @@ -100,7 +100,7 @@ public function text($name, callable $callback = null); * * @return Builders\Field */ - public function integer($name, callable $callback = null); + public function integer($name, ?callable $callback = null); /** * @param string $name @@ -108,7 +108,7 @@ public function integer($name, callable $callback = null); * * @return Builders\Field */ - public function smallInteger($name, callable $callback = null); + public function smallInteger($name, ?callable $callback = null); /** * @param string $name @@ -116,7 +116,7 @@ public function smallInteger($name, callable $callback = null); * * @return Builders\Field */ - public function bigInteger($name, callable $callback = null); + public function bigInteger($name, ?callable $callback = null); /** * @param string $name @@ -124,7 +124,7 @@ public function bigInteger($name, callable $callback = null); * * @return Builders\Field */ - public function unsignedSmallInteger($name, callable $callback = null); + public function unsignedSmallInteger($name, ?callable $callback = null); /** * @param string $name @@ -132,7 +132,7 @@ public function unsignedSmallInteger($name, callable $callback = null); * * @return Builders\Field */ - public function unsignedInteger($name, callable $callback = null); + public function unsignedInteger($name, ?callable $callback = null); /** * @param string $name @@ -140,7 +140,7 @@ public function unsignedInteger($name, callable $callback = null); * * @return Builders\Field */ - public function unsignedBigInteger($name, callable $callback = null); + public function unsignedBigInteger($name, ?callable $callback = null); /** * @param string $name @@ -148,7 +148,7 @@ public function unsignedBigInteger($name, callable $callback = null); * * @return Builders\Field */ - public function float($name, callable $callback = null); + public function float($name, ?callable $callback = null); /** * @param string $name @@ -156,7 +156,7 @@ public function float($name, callable $callback = null); * * @return Builders\Field */ - public function decimal($name, callable $callback = null); + public function decimal($name, ?callable $callback = null); /** * @param string $name @@ -164,7 +164,7 @@ public function decimal($name, callable $callback = null); * * @return Builders\Field */ - public function boolean($name, callable $callback = null); + public function boolean($name, ?callable $callback = null); /** * @param string $name @@ -172,7 +172,7 @@ public function boolean($name, callable $callback = null); * * @return Builders\Field */ - public function jsonArray($name, callable $callback = null); + public function jsonArray($name, ?callable $callback = null); /** * @param string $name @@ -180,7 +180,7 @@ public function jsonArray($name, callable $callback = null); * * @return Builders\Field */ - public function date($name, callable $callback = null); + public function date($name, ?callable $callback = null); /** * @param string $name @@ -188,7 +188,7 @@ public function date($name, callable $callback = null); * * @return Builders\Field */ - public function dateTime($name, callable $callback = null); + public function dateTime($name, ?callable $callback = null); /** * @param string $name @@ -196,7 +196,7 @@ public function dateTime($name, callable $callback = null); * * @return Builders\Field */ - public function dateTimeTz($name, callable $callback = null); + public function dateTimeTz($name, ?callable $callback = null); /** * @param string $name @@ -204,7 +204,7 @@ public function dateTimeTz($name, callable $callback = null); * * @return Builders\Field */ - public function time($name, callable $callback = null); + public function time($name, ?callable $callback = null); /** * @param string $name @@ -212,7 +212,7 @@ public function time($name, callable $callback = null); * * @return Builders\Field */ - public function carbonDateTime($name, callable $callback = null); + public function carbonDateTime($name, ?callable $callback = null); /** * @param string $name @@ -220,7 +220,7 @@ public function carbonDateTime($name, callable $callback = null); * * @return Builders\Field */ - public function carbonDateTimeTz($name, callable $callback = null); + public function carbonDateTimeTz($name, ?callable $callback = null); /** * @param string $name @@ -228,7 +228,7 @@ public function carbonDateTimeTz($name, callable $callback = null); * * @return Builders\Field */ - public function carbonDate($name, callable $callback = null); + public function carbonDate($name, ?callable $callback = null); /** * @param string $name @@ -236,7 +236,7 @@ public function carbonDate($name, callable $callback = null); * * @return Builders\Field */ - public function carbonTime($name, callable $callback = null); + public function carbonTime($name, ?callable $callback = null); /** * @param string $name @@ -244,7 +244,7 @@ public function carbonTime($name, callable $callback = null); * * @return Builders\Field */ - public function zendDate($name, callable $callback = null); + public function zendDate($name, ?callable $callback = null); /** * @param string $name @@ -252,7 +252,7 @@ public function zendDate($name, callable $callback = null); * * @return Builders\Field */ - public function timestamp($name, callable $callback = null); + public function timestamp($name, ?callable $callback = null); /** * @param string $name @@ -260,7 +260,7 @@ public function timestamp($name, callable $callback = null); * * @return Builders\Field */ - public function timestampTz($name, callable $callback = null); + public function timestampTz($name, ?callable $callback = null); /** * @param string $name @@ -268,7 +268,7 @@ public function timestampTz($name, callable $callback = null); * * @return Builders\Field */ - public function binary($name, callable $callback = null); + public function binary($name, ?callable $callback = null); /** * @param string $name @@ -276,7 +276,7 @@ public function binary($name, callable $callback = null); * * @return Builders\Field */ - public function rememberToken($name = 'rememberToken', callable $callback = null); + public function rememberToken($name = 'rememberToken', ?callable $callback = null); /** * @param string $entity @@ -285,7 +285,7 @@ public function rememberToken($name = 'rememberToken', callable $callback = null * * @return Relations\OneToOne */ - public function hasOne($entity, $field = null, callable $callback = null); + public function hasOne($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -294,7 +294,7 @@ public function hasOne($entity, $field = null, callable $callback = null); * * @return Relations\OneToOne */ - public function oneToOne($entity, $field = null, callable $callback = null); + public function oneToOne($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -303,7 +303,7 @@ public function oneToOne($entity, $field = null, callable $callback = null); * * @return Relations\ManyToOne */ - public function belongsTo($entity, $field = null, callable $callback = null); + public function belongsTo($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -312,7 +312,7 @@ public function belongsTo($entity, $field = null, callable $callback = null); * * @return Relations\ManyToOne */ - public function manyToOne($entity, $field = null, callable $callback = null); + public function manyToOne($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -321,7 +321,7 @@ public function manyToOne($entity, $field = null, callable $callback = null); * * @return Relations\OneToMany */ - public function hasMany($entity, $field = null, callable $callback = null); + public function hasMany($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -330,7 +330,7 @@ public function hasMany($entity, $field = null, callable $callback = null); * * @return Relations\OneToMany */ - public function oneToMany($entity, $field = null, callable $callback = null); + public function oneToMany($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -339,7 +339,7 @@ public function oneToMany($entity, $field = null, callable $callback = null); * * @return Relations\ManyToMany */ - public function belongsToMany($entity, $field = null, callable $callback = null); + public function belongsToMany($entity, $field = null, ?callable $callback = null); /** * @param string $entity @@ -348,7 +348,7 @@ public function belongsToMany($entity, $field = null, callable $callback = null) * * @return Relations\ManyToMany */ - public function manyToMany($entity, $field, callable $callback = null); + public function manyToMany($entity, $field, ?callable $callback = null); /** * Adds a custom relation to the entity. @@ -358,7 +358,7 @@ public function manyToMany($entity, $field, callable $callback = null); * * @return Relations\Relation */ - public function addRelation(Relations\Relation $relation, callable $callback = null); + public function addRelation(Relations\Relation $relation, ?callable $callback = null); /** * @return bool @@ -374,7 +374,7 @@ public function getBuilder(); * @param string $method * @param callable|null $callback */ - public static function macro($method, callable $callback = null); + public static function macro($method, ?callable $callback = null); /** * @param string $name @@ -382,7 +382,7 @@ public static function macro($method, callable $callback = null); * * @return Builders\Field */ - public function guid($name, callable $callback = null); + public function guid($name, ?callable $callback = null); /** * @param string $name @@ -390,7 +390,7 @@ public function guid($name, callable $callback = null); * * @return Builders\Field */ - public function blob($name, callable $callback = null); + public function blob($name, ?callable $callback = null); /** * @param string $name @@ -398,7 +398,7 @@ public function blob($name, callable $callback = null); * * @return Builders\Field */ - public function object($name, callable $callback = null); + public function object($name, ?callable $callback = null); /** * @param string $name @@ -406,7 +406,7 @@ public function object($name, callable $callback = null); * * @return Builders\Field */ - public function simpleArray($name, callable $callback = null); + public function simpleArray($name, ?callable $callback = null); /** * @param string $embeddable @@ -415,7 +415,7 @@ public function simpleArray($name, callable $callback = null); * * @return Builders\Embedded */ - public function embed($embeddable, $field = null, callable $callback = null); + public function embed($embeddable, $field = null, ?callable $callback = null); /** * @param string $type @@ -423,21 +423,21 @@ public function embed($embeddable, $field = null, callable $callback = null); * * @return Builders\Inheritance\Inheritance */ - public function inheritance($type, callable $callback = null); + public function inheritance($type, ?callable $callback = null); /** * @param callable|null $callback * * @return Builders\Inheritance\Inheritance */ - public function singleTableInheritance(callable $callback = null); + public function singleTableInheritance(?callable $callback = null); /** * @param callable|null $callback * * @return Builders\Inheritance\Inheritance */ - public function joinedTableInheritance(callable $callback = null); + public function joinedTableInheritance(?callable $callback = null); /** * @param array|string $fields @@ -459,12 +459,12 @@ public function override($name, callable $callback); * * @return Builders\LifecycleEvents */ - public function events(callable $callback = null); + public function events(?callable $callback = null); /** * @param callable|null $callback * * @return Builders\EntityListeners */ - public function listen(callable $callback = null); + public function listen(?callable $callback = null); } diff --git a/src/FluentDriver.php b/src/FluentDriver.php index 4d3d1f8..0af836b 100644 --- a/src/FluentDriver.php +++ b/src/FluentDriver.php @@ -32,7 +32,7 @@ class FluentDriver implements MappingDriver */ public function __construct( array $mappings = [], - NamingStrategy $namingStrategy = null + ?NamingStrategy $namingStrategy = null ) { $this->fluentFactory = function (ClassMetadata $metadata) use ($namingStrategy) { return new Builder(new ClassMetadataBuilder($metadata), $namingStrategy); diff --git a/src/Relations/ManyToOne.php b/src/Relations/ManyToOne.php index 903f017..40842f5 100644 --- a/src/Relations/ManyToOne.php +++ b/src/Relations/ManyToOne.php @@ -66,7 +66,7 @@ protected function createAssociation(ClassMetadataBuilder $builder, $relation, $ * * @return JoinColumn|false */ - public function getJoinColumn(callable $callback = null) + public function getJoinColumn(?callable $callback = null) { $joinColumn = reset($this->joinColumns);