ManaPHP\Mvc\Model\Metadata::_readMetaData PHP Метод

_readMetaData() защищенный Метод

print_r($metaData->readMetaData(new Robots()));
protected _readMetaData ( string | ManaPHP\Mvc\ModelInterface $model ) : array
$model string | ManaPHP\Mvc\ModelInterface
Результат array
    protected function _readMetaData($model)
    {
        $modelName = is_string($model) ? $model : get_class($model);
        if (!isset($this->_metadata[$modelName])) {
            $data = $this->read($modelName);
            if ($data !== false) {
                $this->_metadata[$modelName] = $data;
            } else {
                if (is_string($model)) {
                    $model = new $model();
                }
                /** @noinspection ExceptionsAnnotatingAndHandlingInspection */
                $data = $model->getReadConnection()->getMetadata($model->getSource());
                $properties = [];
                foreach ((new \ReflectionClass($model))->getProperties(\ReflectionProperty::IS_PUBLIC) as $property) {
                    if (!$property->isStatic()) {
                        $properties[] = $property->getName();
                    }
                }
                $diff = array_diff($properties, $data[self::MODEL_ATTRIBUTES]);
                if (count($diff) !== 0) {
                    throw new MetadataException('`:model` model is not contains `:columns` columns', ['model' => $modelName, 'columns' => implode(',', $diff)]);
                }
                $data[self::MODEL_COLUMN_PROPERTIES] = $properties;
                $this->_metadata[$modelName] = $data;
                $this->write($modelName, $data);
            }
        }
        return $this->_metadata[$modelName];
    }