protected function findMappingFile($className) { $defaultFileName = str_replace('\\', '.', $className) . $this->fileExtension; foreach ($this->paths as $path) { if (!isset($this->prefixes[$path])) { if (file_exists($path . DIRECTORY_SEPARATOR . $defaultFileName)) { return $path . DIRECTORY_SEPARATOR . $defaultFileName; } continue; } $prefix = $this->prefixes[$path]; if (0 !== strpos($className, $prefix . '\\')) { continue; } $filename = $path . '/' . strtr(substr($className, strlen($prefix) + 1), '\\', '.') . $this->fileExtension; if (file_exists($filename)) { return $filename; } throw MongoDBException::mappingNotFound($className, $filename); } throw MongoDBException::mappingNotFound($className, substr($className, strrpos($className, '\\') + 1) . $this->fileExtension); }
/** * Gets the mapping of a field. * * @param string $fieldName The field name. * @return array The field mapping. */ public function getFieldMapping($fieldName) { if (!isset($this->fieldMappings[$fieldName])) { throw MongoDBException::mappingNotFound($this->name, $fieldName); } return $this->fieldMappings[$fieldName]; }