Skip to content

Use public property instead of deprecated array access #2952

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/Loggable/Mapping/Driver/Attribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

use Doctrine\ODM\MongoDB\Mapping\ClassMetadata as ClassMetadataODM;
use Doctrine\ORM\Mapping\ClassMetadata as ClassMetadataORM;
use Doctrine\ORM\Mapping\EmbeddedClassMapping;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Gedmo\Exception\InvalidMappingException;
use Gedmo\Mapping\Annotation\Loggable;
Expand Down Expand Up @@ -137,7 +138,9 @@ protected function isClassAnnotationInValid(ClassMetadata $meta, array &$config)
*/
private function inspectEmbeddedForVersioned(string $field, array &$config, ClassMetadataORM $meta): void
{
$class = new \ReflectionClass($meta->embeddedClasses[$field]['class']);
/** Remove conditional when ORM 2.x is no longer supported. */
$className = ($meta->embeddedClasses[$field] instanceof EmbeddedClassMapping) ? $meta->embeddedClasses[$field]->class : $meta->embeddedClasses[$field]['class'];
$class = new \ReflectionClass($className);

// property annotations
foreach ($class->getProperties() as $property) {
Expand Down
5 changes: 4 additions & 1 deletion src/Sluggable/Mapping/Driver/Attribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace Gedmo\Sluggable\Mapping\Driver;

use Doctrine\ORM\Mapping\EmbeddedClassMapping;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Gedmo\Exception\InvalidMappingException;
use Gedmo\Mapping\Annotation\Slug;
Expand Down Expand Up @@ -82,7 +83,9 @@ public function readExtendedMetadata($meta, array &$config)
// Embedded entity
if (property_exists($meta, 'embeddedClasses') && $meta->embeddedClasses) {
foreach ($meta->embeddedClasses as $propertyName => $embeddedClassInfo) {
$embeddedClass = new \ReflectionClass($embeddedClassInfo['class']);
/** Remove conditional when ORM 2.x is no longer supported. */
$className = ($embeddedClassInfo instanceof EmbeddedClassMapping) ? $embeddedClassInfo->class : $embeddedClassInfo['class'];
$embeddedClass = new \ReflectionClass($className);

foreach ($embeddedClass->getProperties() as $embeddedProperty) {
$config = $this->retrieveSlug($meta, $config, $embeddedProperty, $propertyName);
Expand Down
5 changes: 4 additions & 1 deletion src/Translatable/Mapping/Driver/Attribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace Gedmo\Translatable\Mapping\Driver;

use Doctrine\ORM\Mapping\EmbeddedClassMapping;
use Gedmo\Exception\InvalidMappingException;
use Gedmo\Mapping\Annotation\Language;
use Gedmo\Mapping\Annotation\Locale;
Expand Down Expand Up @@ -118,7 +119,9 @@ public function readExtendedMetadata($meta, array &$config)
continue;
}

$embeddedClass = new \ReflectionClass($embeddedClassInfo['class']);
/** Remove conditional when ORM 2.x is no longer supported. */
$className = ($embeddedClassInfo instanceof EmbeddedClassMapping) ? $embeddedClassInfo->class : $embeddedClassInfo['class'];
$embeddedClass = new \ReflectionClass($className);

foreach ($embeddedClass->getProperties() as $embeddedProperty) {
if ($translatable = $this->reader->getPropertyAnnotation($embeddedProperty, self::TRANSLATABLE)) {
Expand Down
6 changes: 5 additions & 1 deletion src/Translatable/Mapping/Driver/Xml.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace Gedmo\Translatable\Mapping\Driver;

use Doctrine\ORM\Mapping\EmbeddedClassMapping;
use Gedmo\Exception\InvalidMappingException;
use Gedmo\Mapping\Driver\Xml as BaseXml;

Expand Down Expand Up @@ -61,7 +62,10 @@ public function readExtendedMetadata($meta, array &$config)
if ($meta->isInheritedEmbeddedClass($propertyName)) {
continue;
}
$xmlEmbeddedClass = $this->_getMapping($embeddedClassInfo['class']);

/** Remove conditional when ORM 2.x is no longer supported. */
$className = ($embeddedClassInfo instanceof EmbeddedClassMapping) ? $embeddedClassInfo->class : $embeddedClassInfo['class'];
$xmlEmbeddedClass = $this->_getMapping($className);
$config = $this->inspectElementsForTranslatableFields($xmlEmbeddedClass, $config, $propertyName);
}
}
Expand Down