Класс Phalcon\Mvc\Model\MetaData\Memcache

расширяет абстрактный класс Phalcon\Mvc\Model\MetaData

Реализует Phalcon\Mvc\Model\MetaDataInterface, Phalcon\Di\InjectionAwareInterface

Source on GitHub

Хранит метаданные модели в Memcache.

По умолчанию метаданные хранятся 48 часов (172800 секунд)

<?php

$metaData = new Phalcon\Mvc\Model\Metadata\Memcache(
    [
        "prefix"     => "my-app-id",
        "lifetime"   => 86400,
        "host"       => "localhost",
        "port"       => 11211,
        "persistent" => false,
    ]
);

Константы

integer MODELS_ATTRIBUTES

integer MODELS_PRIMARY_KEY

integer MODELS_NON_PRIMARY_KEY

integer MODELS_NOT_NULL

integer MODELS_DATA_TYPES

integer MODELS_DATA_TYPES_NUMERIC

integer MODELS_DATE_AT

integer MODELS_DATE_IN

integer MODELS_IDENTITY_COLUMN

integer MODELS_DATA_TYPES_BIND

integer MODELS_AUTOMATIC_DEFAULT_INSERT

integer MODELS_AUTOMATIC_DEFAULT_UPDATE

integer MODELS_DEFAULT_VALUES

integer MODELS_EMPTY_STRING_VALUES

integer MODELS_COLUMN_MAP

integer MODELS_REVERSE_COLUMN_MAP

Методы

public __construct ([array $options])

Phalcon\Mvc\Model\MetaData\Memcache конструктор

public read (mixed $key)

Считывает метаданные из Memcache

public write (mixed $key, mixed $data)

Записывает метаданные в Memcache

public reset ()

Сброс данных Memcache и сброс внутренних метаданных для их регенерации

final protected _initialize (Phalcon\Mvc\ModelInterface $model, mixed $key, mixed $table, mixed $schema) наследуется от Phalcon\Mvc\Model\MetaData

Инициализация метаданных для определенной таблицы

public setDI (Phalcon\DiInterface $dependencyInjector) наследуется от Phalcon\Mvc\Model\MetaData

Устанавливает контейнер DependencyInjector

public getDI () наследуется от Phalcon\Mvc\Model\MetaData

Возвращает контейнер DependencyInjector

public setStrategy (Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy) наследуется от Phalcon\Mvc\Model\MetaData

Настройка стратегии извлечения метаданных

public getStrategy () наследуется от Phalcon\Mvc\Model\MetaData

Возврат стратегии для получения метаданных

final public readMetaData (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Считывает полные метаданные для определенной модели

<?php

print_r(
    $metaData->readMetaData(
        new Robots()
    )
);

final public readMetaDataIndex (Phalcon\Mvc\ModelInterface $model, mixed $index) наследуется от Phalcon\Mvc\Model\MetaData

Считывает метаданные для определенной модели

<?php

print_r(
    $metaData->readMetaDataIndex(
        new Robots(),
        0
    )
);

final public writeMetaDataIndex (Phalcon\Mvc\ModelInterface $model, mixed $index, mixed $data) наследуется от Phalcon\Mvc\Model\MetaData

Записывает метаданные для определенной модели с помощью константы MODEL_*

<?php

print_r(
    $metaData->writeColumnMapIndex(
        new Robots(),
        MetaData::MODELS_REVERSE_COLUMN_MAP,
        [
            "leName" => "name",
        ]
    )
);

final public readColumnMap (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Считывает карту упорядоченных/обратных столбцов для определенной модели

<?php

print_r(
    $metaData->readColumnMap(
        new Robots()
    )
);

final public readColumnMapIndex (Phalcon\Mvc\ModelInterface $model, mixed $index) наследуется от Phalcon\Mvc\Model\MetaData

Считывает данные карты столбцов для определенной модели с помощью константы MODEL_*

<?php

print_r(
    $metaData->readColumnMapIndex(
        new Robots(),
        MetaData::MODELS_REVERSE_COLUMN_MAP
    )
);

public getAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает имена атрибутов таблицы (полей)

<?php

print_r(
    $metaData->getAttributes(
        new Robots()
    )
);

public getPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает массив полей, являющихся частью первичного ключа

<?php

print_r(
    $metaData->getPrimaryKeyAttributes(
        new Robots()
    )
);

public getNonPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает массив полей, не являющихся частью первичного ключа

<?php

print_r(
    $metaData->getNonPrimaryKeyAttributes(
        new Robots()
    )
);

public getNotNullAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает массив атрибутов not null

<?php

print_r(
    $metaData->getNotNullAttributes(
        new Robots()
    )
);

public getDataTypes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты и их типы данных

<?php

print_r(
    $metaData->getDataTypes(
        new Robots()
    )
);

public getDataTypesNumeric (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты, типы которых являются числовыми

<?php

print_r(
    $metaData->getDataTypesNumeric(
        new Robots()
    )
);

public string getIdentityField (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает имя поля идентификации (если оно присутствует)

<?php

print_r(
    $metaData->getIdentityField(
        new Robots()
    )
);

public getBindTypes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты и их связанные типы данных

<?php

print_r(
    $metaData->getBindTypes(
        new Robots()
    )
);

public getAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты, которые должны игнорироваться при создании SQL INSERT

<?php

print_r(
    $metaData->getAutomaticCreateAttributes(
        new Robots()
    )
);

public getAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты, которые должны игнорироваться при генерации SQL UPDATE

<?php

print_r(
    $metaData->getAutomaticUpdateAttributes(
        new Robots()
    )
);

public setAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes) наследуется от Phalcon\Mvc\Model\MetaData

Задайте атрибуты, которые должны игнорироваться при создании SQL INSERT

<?php

$metaData->setAutomaticCreateAttributes(
    new Robots(),
    [
        "created_at" => true,
    ]
);

public setAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes) наследуется от Phalcon\Mvc\Model\MetaData

Задайте атрибуты, которые должны игнорироваться при создании SQL UPDATE

<?php

$metaData->setAutomaticUpdateAttributes(
    new Robots(),
    [
        "modified_at" => true,
    ]
);

public setEmptyStringAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes) наследуется от Phalcon\Mvc\Model\MetaData

Установка атрибутов, допускающих пустые строковые значения

<?php

$metaData->setEmptyStringAttributes(
    new Robots(),
    [
        "name" => true,
    ]
);

public getEmptyStringAttributes (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты, допускающие пустые строки

<?php

print_r(
    $metaData->getEmptyStringAttributes(
        new Robots()
    )
);

public getDefaultValues (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает атрибуты (которые имеют значения по умолчанию) и их значения по умолчанию

<?php

print_r(
    $metaData->getDefaultValues(
        new Robots()
    )
);

public getColumnMap (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает карту столбцов, если таковая имеется

<?php

print_r(
    $metaData->getColumnMap(
        new Robots()
    )
);

public getReverseColumnMap (Phalcon\Mvc\ModelInterface $model) наследуется от Phalcon\Mvc\Model\MetaData

Возвращает обратную карту столбцов, если таковая имеется

<?php

print_r(
    $metaData->getReverseColumnMap(
        new Robots()
    )
);

public hasAttribute (Phalcon\Mvc\ModelInterface $model, mixed $attribute) наследуется от Phalcon\Mvc\Model\MetaData

Проверяет, имеет ли модель определенный атрибут

<?php

var_dump(
    $metaData->hasAttribute(
        new Robots(),
        "name"
    )
);

public isEmpty () наследуется от Phalcon\Mvc\Model\MetaData

Проверяет, пуст ли внутренний контейнер метаданных

<?php

var_dump(
    $metaData->isEmpty()
);