diff --git a/lib/Doctrine/ODM/MongoDB/Configuration.php b/lib/Doctrine/ODM/MongoDB/Configuration.php index 20fc9bcdf6..a6d08087f5 100644 --- a/lib/Doctrine/ODM/MongoDB/Configuration.php +++ b/lib/Doctrine/ODM/MongoDB/Configuration.php @@ -155,8 +155,7 @@ public function newDefaultAnnotationDriver($paths = array()) */ public function getMetadataDriverImpl() { - return isset($this->attributes['metadataDriverImpl']) ? - $this->attributes['metadataDriverImpl'] : null; + return $this->attributes['metadataDriverImpl'] ?? null; } /** @@ -166,8 +165,7 @@ public function getMetadataDriverImpl() */ public function getMetadataCacheImpl() { - return isset($this->attributes['metadataCacheImpl']) ? - $this->attributes['metadataCacheImpl'] : null; + return $this->attributes['metadataCacheImpl'] ?? null; } /** @@ -197,8 +195,7 @@ public function setProxyDir($dir) */ public function getProxyDir() { - return isset($this->attributes['proxyDir']) ? - $this->attributes['proxyDir'] : null; + return $this->attributes['proxyDir'] ?? null; } /** @@ -209,8 +206,7 @@ public function getProxyDir() */ public function getAutoGenerateProxyClasses() { - return isset($this->attributes['autoGenerateProxyClasses']) ? - $this->attributes['autoGenerateProxyClasses'] : true; + return $this->attributes['autoGenerateProxyClasses'] ?? true; } /** @@ -231,8 +227,7 @@ public function setAutoGenerateProxyClasses($bool) */ public function getProxyNamespace() { - return isset($this->attributes['proxyNamespace']) ? - $this->attributes['proxyNamespace'] : null; + return $this->attributes['proxyNamespace'] ?? null; } /** @@ -262,8 +257,7 @@ public function setHydratorDir($dir) */ public function getHydratorDir() { - return isset($this->attributes['hydratorDir']) ? - $this->attributes['hydratorDir'] : null; + return $this->attributes['hydratorDir'] ?? null; } /** @@ -274,8 +268,7 @@ public function getHydratorDir() */ public function getAutoGenerateHydratorClasses() { - return isset($this->attributes['autoGenerateHydratorClasses']) ? - $this->attributes['autoGenerateHydratorClasses'] : true; + return $this->attributes['autoGenerateHydratorClasses'] ?? true; } /** @@ -296,8 +289,7 @@ public function setAutoGenerateHydratorClasses($bool) */ public function getHydratorNamespace() { - return isset($this->attributes['hydratorNamespace']) ? - $this->attributes['hydratorNamespace'] : null; + return $this->attributes['hydratorNamespace'] ?? null; } /** @@ -327,8 +319,7 @@ public function setPersistentCollectionDir($dir) */ public function getPersistentCollectionDir() { - return isset($this->attributes['persistentCollectionDir']) ? - $this->attributes['persistentCollectionDir'] : null; + return $this->attributes['persistentCollectionDir'] ?? null; } /** @@ -339,8 +330,7 @@ public function getPersistentCollectionDir() */ public function getAutoGeneratePersistentCollectionClasses() { - return isset($this->attributes['autoGeneratePersistentCollectionClasses']) ? - $this->attributes['autoGeneratePersistentCollectionClasses'] : self::AUTOGENERATE_ALWAYS; + return $this->attributes['autoGeneratePersistentCollectionClasses'] ?? self::AUTOGENERATE_ALWAYS; } /** @@ -361,8 +351,7 @@ public function setAutoGeneratePersistentCollectionClasses($mode) */ public function getPersistentCollectionNamespace() { - return isset($this->attributes['persistentCollectionNamespace']) ? - $this->attributes['persistentCollectionNamespace'] : null; + return $this->attributes['persistentCollectionNamespace'] ?? null; } /** @@ -393,8 +382,7 @@ public function setDefaultDB($defaultDB) */ public function getDefaultDB() { - return isset($this->attributes['defaultDB']) ? - $this->attributes['defaultDB'] : null; + return $this->attributes['defaultDB'] ?? null; } /** @@ -427,11 +415,7 @@ public function getClassMetadataFactoryName() */ public function getDefaultCommitOptions() { - if (isset($this->attributes['defaultCommitOptions'])) { - return $this->attributes['defaultCommitOptions']; - } - - return array('w' => 1); + return $this->attributes['defaultCommitOptions'] ?? array('w' => 1); } /** @@ -514,9 +498,7 @@ public function setDefaultRepositoryClassName($className) */ public function getDefaultRepositoryClassName() { - return isset($this->attributes['defaultRepositoryClassName']) - ? $this->attributes['defaultRepositoryClassName'] - : DocumentRepository::class; + return $this->attributes['defaultRepositoryClassName'] ?? DocumentRepository::class; } /** @@ -536,9 +518,7 @@ public function setRepositoryFactory(RepositoryFactory $repositoryFactory) */ public function getRepositoryFactory() { - return isset($this->attributes['repositoryFactory']) - ? $this->attributes['repositoryFactory'] - : new DefaultRepositoryFactory(); + return $this->attributes['repositoryFactory'] ?? new DefaultRepositoryFactory(); } /** diff --git a/lib/Doctrine/ODM/MongoDB/DocumentManager.php b/lib/Doctrine/ODM/MongoDB/DocumentManager.php index 4a47b52023..7c5cf51a4f 100644 --- a/lib/Doctrine/ODM/MongoDB/DocumentManager.php +++ b/lib/Doctrine/ODM/MongoDB/DocumentManager.php @@ -713,9 +713,7 @@ public function createReference($document, array $referenceMapping) * discriminator field and no value, so default to the full class name. */ if (isset($class->discriminatorField)) { - $reference[$class->discriminatorField] = isset($class->discriminatorValue) - ? $class->discriminatorValue - : $class->name; + $reference[$class->discriminatorField] = $class->discriminatorValue ?? $class->name; } /* Add a discriminator value if the referenced document is not mapped diff --git a/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadataInfo.php index 5aa7bd4355..486d830e68 100644 --- a/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadataInfo.php @@ -642,7 +642,7 @@ public function hasLifecycleCallbacks($event) */ public function getLifecycleCallbacks($event) { - return isset($this->lifecycleCallbacks[$event]) ? $this->lifecycleCallbacks[$event] : array(); + return $this->lifecycleCallbacks[$event] ?? array(); } /** diff --git a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php index 33f39c085a..5d0327d45d 100644 --- a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php +++ b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php @@ -85,7 +85,7 @@ public function loadMetadataForClass($className, ClassMetadata $class) * configurations, but fall back to "fieldName" for BC. */ $class->setDiscriminatorField( - isset($discrField['name']) ? (string) $discrField['name'] : (string) $discrField['fieldName'] + (string) ($discrField['name'] ?? $discrField['fieldName']) ); } if (isset($xmlRoot->{'discriminator-map'})) { @@ -234,7 +234,7 @@ private function addEmbedMapping(ClassMetadataInfo $class, $embed, $type) 'targetDocument' => isset($attributes['target-document']) ? (string) $attributes['target-document'] : null, 'collectionClass' => isset($attributes['collection-class']) ? (string) $attributes['collection-class'] : null, 'name' => (string) $attributes['field'], - 'strategy' => isset($attributes['strategy']) ? (string) $attributes['strategy'] : $defaultStrategy, + 'strategy' => (string) ($attributes['strategy'] ?? $defaultStrategy), ); if (isset($attributes['fieldName'])) { $mapping['fieldName'] = (string) $attributes['fieldName']; @@ -274,11 +274,11 @@ private function addReferenceMapping(ClassMetadataInfo $class, $reference, $type 'orphanRemoval' => isset($attributes['orphan-removal']) ? ('true' === (string) $attributes['orphan-removal']) : false, 'type' => $type, 'reference' => true, - 'storeAs' => isset($attributes['store-as']) ? (string) $attributes['store-as'] : ClassMetadataInfo::REFERENCE_STORE_AS_DB_REF, + 'storeAs' => (string) ($attributes['store-as'] ?? ClassMetadataInfo::REFERENCE_STORE_AS_DB_REF), 'targetDocument' => isset($attributes['target-document']) ? (string) $attributes['target-document'] : null, 'collectionClass' => isset($attributes['collection-class']) ? (string) $attributes['collection-class'] : null, 'name' => (string) $attributes['field'], - 'strategy' => isset($attributes['strategy']) ? (string) $attributes['strategy'] : $defaultStrategy, + 'strategy' => (string) ($attributes['strategy'] ?? $defaultStrategy), 'inversedBy' => isset($attributes['inversed-by']) ? (string) $attributes['inversed-by'] : null, 'mappedBy' => isset($attributes['mapped-by']) ? (string) $attributes['mapped-by'] : null, 'repositoryMethod' => isset($attributes['repository-method']) ? (string) $attributes['repository-method'] : null, @@ -306,7 +306,7 @@ private function addReferenceMapping(ClassMetadataInfo $class, $reference, $type if (isset($reference->{'sort'})) { foreach ($reference->{'sort'}->{'sort'} as $sort) { $attr = $sort->attributes(); - $mapping['sort'][(string) $attr['field']] = isset($attr['order']) ? (string) $attr['order'] : 'asc'; + $mapping['sort'][(string) $attr['field']] = (string) ($attr['order'] ?? 'asc'); } } if (isset($reference->{'criteria'})) { @@ -338,7 +338,7 @@ private function addIndex(ClassMetadataInfo $class, \SimpleXmlElement $xmlIndex) $keys = array(); foreach ($xmlIndex->{'key'} as $key) { - $keys[(string) $key['name']] = isset($key['order']) ? (string) $key['order'] : 'asc'; + $keys[(string) $key['name']] = (string) ($key['order'] ?? 'asc'); } $options = array(); @@ -443,7 +443,7 @@ private function setShardKey(ClassMetadataInfo $class, \SimpleXmlElement $xmlSha $keys = array(); $options = array(); foreach ($xmlShardkey->{'key'} as $key) { - $keys[(string) $key['name']] = isset($key['order']) ? (string)$key['order'] : 'asc'; + $keys[(string) $key['name']] = (string) ($key['order'] ?? 'asc'); } if (isset($attributes['unique'])) { diff --git a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/YamlDriver.php b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/YamlDriver.php index a6fa28c66b..5f5dd94d37 100644 --- a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/YamlDriver.php +++ b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/YamlDriver.php @@ -241,7 +241,7 @@ private function addMappingFromEmbed(ClassMetadataInfo $class, $fieldName, $embe 'targetDocument' => $embed['targetDocument'] ?? null, 'collectionClass' => $embed['collectionClass'] ?? null, 'fieldName' => $fieldName, - 'strategy' => isset($embed['strategy']) ? (string) $embed['strategy'] : $defaultStrategy, + 'strategy' => (string) ($embed['strategy'] ?? $defaultStrategy), ); if (isset($embed['name'])) { $mapping['name'] = $embed['name']; @@ -266,11 +266,11 @@ private function addMappingFromReference(ClassMetadataInfo $class, $fieldName, $ 'orphanRemoval' => $reference['orphanRemoval'] ?? false, 'type' => $type, 'reference' => true, - 'storeAs' => isset($reference['storeAs']) ? (string) $reference['storeAs'] : ClassMetadataInfo::REFERENCE_STORE_AS_DB_REF, + 'storeAs' => (string) ($reference['storeAs'] ?? ClassMetadataInfo::REFERENCE_STORE_AS_DB_REF), 'targetDocument' => $reference['targetDocument'] ?? null, 'collectionClass' => $reference['collectionClass'] ?? null, 'fieldName' => $fieldName, - 'strategy' => isset($reference['strategy']) ? (string) $reference['strategy'] : $defaultStrategy, + 'strategy' => (string) ($reference['strategy'] ?? $defaultStrategy), 'inversedBy' => isset($reference['inversedBy']) ? (string) $reference['inversedBy'] : null, 'mappedBy' => isset($reference['mappedBy']) ? (string) $reference['mappedBy'] : null, 'repositoryMethod' => isset($reference['repositoryMethod']) ? (string) $reference['repositoryMethod'] : null, diff --git a/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php b/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php index 7eae05fc69..72696aa9c0 100644 --- a/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php +++ b/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php @@ -689,9 +689,7 @@ private function loadEmbedManyCollection(PersistentCollectionInterface $collecti $this->uow->setParentAssociation($embeddedDocumentObject, $mapping, $owner, $mapping['name'] . '.' . $key); $data = $this->hydratorFactory->hydrate($embeddedDocumentObject, $embeddedDocument, $collection->getHints()); - $id = $embeddedMetadata->identifier && isset($data[$embeddedMetadata->identifier]) - ? $data[$embeddedMetadata->identifier] - : null; + $id = $embeddedMetadata->identifier && $data[$embeddedMetadata->identifier] ?? null; if (empty($collection->getHints()[Query::HINT_READ_ONLY])) { $this->uow->registerManaged($embeddedDocumentObject, $id, $data); @@ -796,7 +794,7 @@ public function createReferenceManyInverseSideQuery(PersistentCollectionInterfac $owner = $collection->getOwner(); $ownerClass = $this->dm->getClassMetadata(get_class($owner)); $targetClass = $this->dm->getClassMetadata($mapping['targetDocument']); - $mappedByMapping = isset($targetClass->fieldMappings[$mapping['mappedBy']]) ? $targetClass->fieldMappings[$mapping['mappedBy']] : array(); + $mappedByMapping = $targetClass->fieldMappings[$mapping['mappedBy']] ?? array(); $mappedByFieldName = ClassMetadataInfo::getReferenceFieldName($mappedByMapping['storeAs'] ?? ClassMetadataInfo::REFERENCE_STORE_AS_DB_REF, $mapping['mappedBy']); $criteria = $this->cm->merge( diff --git a/lib/Doctrine/ODM/MongoDB/Persisters/PersistenceBuilder.php b/lib/Doctrine/ODM/MongoDB/Persisters/PersistenceBuilder.php index 60bd844ad1..8b2aa3a6a3 100644 --- a/lib/Doctrine/ODM/MongoDB/Persisters/PersistenceBuilder.php +++ b/lib/Doctrine/ODM/MongoDB/Persisters/PersistenceBuilder.php @@ -94,9 +94,7 @@ public function prepareInsertData($document) // add discriminator if the class has one if (isset($class->discriminatorField)) { - $insertData[$class->discriminatorField] = isset($class->discriminatorValue) - ? $class->discriminatorValue - : $class->name; + $insertData[$class->discriminatorField] = $class->discriminatorValue ?? $class->name; } return $insertData; @@ -271,9 +269,7 @@ public function prepareUpsertData($document) // add discriminator if the class has one if (isset($class->discriminatorField)) { - $updateData['$set'][$class->discriminatorField] = isset($class->discriminatorValue) - ? $class->discriminatorValue - : $class->name; + $updateData['$set'][$class->discriminatorField] = $class->discriminatorValue ?? $class->name; } return $updateData; @@ -394,9 +390,7 @@ public function prepareEmbeddedDocumentValue(array $embeddedMapping, $embeddedDo * discriminator field and no value, so default to the full class name. */ if (isset($class->discriminatorField)) { - $embeddedDocumentValue[$class->discriminatorField] = isset($class->discriminatorValue) - ? $class->discriminatorValue - : $class->name; + $embeddedDocumentValue[$class->discriminatorField] = $class->discriminatorValue ?? $class->name; } // Ensure empty embedded documents are stored as BSON objects diff --git a/lib/Doctrine/ODM/MongoDB/SchemaManager.php b/lib/Doctrine/ODM/MongoDB/SchemaManager.php index a1ed9348d2..46d03f1864 100644 --- a/lib/Doctrine/ODM/MongoDB/SchemaManager.php +++ b/lib/Doctrine/ODM/MongoDB/SchemaManager.php @@ -523,11 +523,7 @@ public function ensureDocumentSharding($documentName, array $indexOptions = arra if ($result['ok'] != 1 && strpos($result['errmsg'], 'please create an index that starts') !== false) { // The proposed key is not returned when using mongo-php-adapter with ext-mongodb. // See https://github.com/mongodb/mongo-php-driver/issues/296 for details - if (isset($result['proposedKey'])) { - $key = $result['proposedKey']; - } else { - $key = $this->dm->getClassMetadata($documentName)->getShardKey()['keys']; - } + $key = $result['proposedKey'] ?? $this->dm->getClassMetadata($documentName)->getShardKey()['keys']; $this->dm->getDocumentCollection($documentName)->ensureIndex($key, $indexOptions); $done = false; diff --git a/lib/Doctrine/ODM/MongoDB/UnitOfWork.php b/lib/Doctrine/ODM/MongoDB/UnitOfWork.php index 6debcb5e1b..12926cac5c 100644 --- a/lib/Doctrine/ODM/MongoDB/UnitOfWork.php +++ b/lib/Doctrine/ODM/MongoDB/UnitOfWork.php @@ -304,10 +304,8 @@ public function setParentAssociation($document, $mapping, $parent, $propertyPath public function getParentAssociation($document) { $oid = spl_object_hash($document); - if ( ! isset($this->parentAssociations[$oid])) { - return null; - } - return $this->parentAssociations[$oid]; + + return $this->parentAssociations[$oid] ?? null; } /** @@ -574,10 +572,8 @@ private function computeSingleDocumentChangeSet($document) public function getDocumentChangeSet($document) { $oid = spl_object_hash($document); - if (isset($this->documentChangeSets[$oid])) { - return $this->documentChangeSets[$oid]; - } - return array(); + + return $this->documentChangeSets[$oid] ?? array(); } /** @@ -1566,8 +1562,7 @@ public function tryGetById($id, ClassMetadata $class) $serializedId = serialize($class->getDatabaseIdentifierValue($id)); - return isset($this->identityMap[$class->name][$serializedId]) ? - $this->identityMap[$class->name][$serializedId] : false; + return $this->identityMap[$class->name][$serializedId] ?? false; } /** @@ -2479,9 +2474,8 @@ public function isCollectionScheduledForUpdate(PersistentCollectionInterface $co public function getVisitedCollections($document) { $oid = spl_object_hash($document); - return isset($this->visitedCollections[$oid]) - ? $this->visitedCollections[$oid] - : array(); + + return $this->visitedCollections[$oid] ?? array(); } /** @@ -2494,9 +2488,8 @@ public function getVisitedCollections($document) public function getScheduledCollections($document) { $oid = spl_object_hash($document); - return isset($this->hasScheduledCollections[$oid]) - ? $this->hasScheduledCollections[$oid] - : array(); + + return $this->hasScheduledCollections[$oid] ?? array(); } /** @@ -2609,9 +2602,7 @@ public function getClassNameForAssociation(array $mapping, $data) } if ($discriminatorValue !== null) { - return isset($class->discriminatorMap[$discriminatorValue]) - ? $class->discriminatorMap[$discriminatorValue] - : $discriminatorValue; + return $class->discriminatorMap[$discriminatorValue] ?? $discriminatorValue; } return $mapping['targetDocument']; @@ -2642,15 +2633,13 @@ public function getOrCreateDocument($className, $data, &$hints = array(), $docum } if ($discriminatorValue !== null) { - $className = isset($class->discriminatorMap[$discriminatorValue]) - ? $class->discriminatorMap[$discriminatorValue] - : $discriminatorValue; + $className = $class->discriminatorMap[$discriminatorValue] ?? $discriminatorValue; $class = $this->dm->getClassMetadata($className); unset($data[$class->discriminatorField]); } - + if (! empty($hints[Query::HINT_READ_ONLY])) { $document = $class->newInstance(); $this->hydratorFactory->hydrate($document, $data, $hints); @@ -2733,10 +2722,8 @@ public function getIdentityMap() public function getOriginalDocumentData($document) { $oid = spl_object_hash($document); - if (isset($this->originalDocumentData[$oid])) { - return $this->originalDocumentData[$oid]; - } - return array(); + + return $this->originalDocumentData[$oid] ?? array(); } /** @@ -2771,8 +2758,7 @@ public function setOriginalDocumentProperty($oid, $property, $value) */ public function getDocumentIdentifier($document) { - return isset($this->documentIdentifiers[spl_object_hash($document)]) ? - $this->documentIdentifiers[spl_object_hash($document)] : null; + return $this->documentIdentifiers[spl_object_hash($document)] ?? null; } /** diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mocks/UnitOfWorkMock.php b/tests/Doctrine/ODM/MongoDB/Tests/Mocks/UnitOfWorkMock.php index 284da5690f..0c76946ebc 100644 --- a/tests/Doctrine/ODM/MongoDB/Tests/Mocks/UnitOfWorkMock.php +++ b/tests/Doctrine/ODM/MongoDB/Tests/Mocks/UnitOfWorkMock.php @@ -12,8 +12,7 @@ class UnitOfWorkMock extends \Doctrine\ODM\MongoDB\UnitOfWork */ public function getDocumentPersister($documentName) { - return isset($this->_persisterMock[$documentName]) ? - $this->_persisterMock[$documentName] : parent::getDocumentPersister($documentName); + return $this->_persisterMock[$documentName] ?? parent::getDocumentPersister($documentName); } /** @@ -23,8 +22,8 @@ public function getDocumentPersister($documentName) public function getDocumentChangeSet($document) { $oid = spl_object_hash($document); - return isset($this->_mockDataChangeSets[$oid]) ? - $this->_mockDataChangeSets[$oid] : parent::getDocumentChangeSet($document); + + return $this->_mockDataChangeSets[$oid] ?? parent::getDocumentChangeSet($document); } /* MOCK API */ @@ -55,4 +54,4 @@ public function setOriginalDocumentData($document, array $originalData) { $this->_originalDocumentData[spl_object_hash($document)] = $originalData; } -} \ No newline at end of file +}