Jet\DataModel_Backend

Výchozí abstraktní třída, která je společná každému backendu.

Přehled metod - obecné metody pro práci s backendy

Metoda Význam
public static addBackendType(
string $type,
string $class_name,
string $config_class_name
) : void
Je možné přidat úplně nový typ backendu, který Jet standardně nepodporuje.

Metoda zabezpečí i nastavení továrny.

Vhodné místo pro takové volání je inicializační skript ~/application/Init/Factory.php

Parametry:
  • $type
    Identifikátor typu.
  • $class_name
    Název třídy backendu samotného.
  • $config_class_name
    Název třídy definice konfigurace daného backendu.
public static getAllBackendTypes(
) : array
Vrátí seznam všech známých backendů v podobě pole identifikátorů typů.
public static getAvlBackendTypes(
) : array
Vrátí seznam backendů použitelných na daném systému (např. podle toho, zda má PHP nainstalované potřebné moduly) v podobě pole identifikátorů typů.
public static getMainConfig(
) : DataModel_Config
Vrátí instanci singletonu hlavní konfigurace.
public static getDefaultBackendType(
) : string
Vrátí identifikátor výchozího typu backendu. Jedná se o alias volání: self::getMainConfig()->getBackendType();
public static getDefaultBackend(
) : DataModel_Backend
Vrátí instanci výchozího backendu.
public static setDefaultBackend(
DataModel_Backend $default_backend
) : void
Nastaví instanci výchozího backendu.
public static get(
DataModel_Definition_Model $definition
) : DataModel_Backend
Vrátí instanci backendu pro určitou konkrétní entitu (viz dále) na základě její definice.
public static setCustomBackend(
string $data_model_class_name,
DataModel_Backend $backend
) : void
Je možné nastavit pro konkrétní třídu - entitu speciální instanci backendu. Třeba i úplně jiného typu, než je bakend výchozí, nebo pouze s jiným nastavením.
public static getCustomBackend(
string $data_model_class_name
) : DataModel_Backend|null
Viz metoda setCustomBackend.

Pokud je pro entitu nastavena speciální instance backendu, pak ji vrací.
public static unsetCustomBackend(
string $data_model_class_name
) : DataModel_Backend
Viz metoda setCustomBackend.

Ruší speciální instanci backendu pro danou entitu.

Přehled metod - metody samotného backendu

Metoda Význam
public __construct(
?DataModel_Backend_Config $config=null
)
Jediním parametrem je instance konfigurace backendu.
public getType(
) : string
Vrací identifikátor typu backendu.
public getTitle(
) : string
Vrací titulek backendu - pro člověka čitelný název.
public isAvailable(
) : bool
Indikuje zda je možné na daném systému a konfiguraci daný backend použít.
public prepareDefaultDbConnectionConfig(
) : ?Db_Backend_Config
Může předpřipravit konfiguraci databázového spojení. Užitečné pro nástroje jako je instalátor.
public createSelectQuery(
DataModel_Query $query
) : string
Na základě definice dotazu vytvoří dotaz typu SELECT.
public createCountQuery(
DataModel_Query $query
) : string
Na základě definice dotazu vytvoří dotaz typu SELECT s cílem určit počet záznamů.
public createInsertQuery(
DataModel_RecordData $record
) : string
Na základě sady dat pro uložení vytvoří dotaz typu INSERT.
public createUpdateQuery(
DataModel_RecordData $record,
DataModel_Query $where
) : string
Na základě sady dat pro uložení a dotazu (jeho WHERE části) vytvoří dotaz typu UPDATE.
public createDeleteQuery(
DataModel_Query $where
$where
) : string
Na základě definice dotazu (jeho WHERE části) vytvoří dotaz DELETE.
public save(
DataModel_RecordData $record
) : mixed
Uloží sadu dat jako nový záznam.
public update(
DataModel_RecordData $record,
DataModel_Query $where
$where
) : int
Upraví sadu dat podle dotazu (jeho WHERE části) a vrátí počet ovlivněných záznamů.
public delete(
DataModel_Query $where
$where
) : int
Na základě dotazu (jeho WHERE části) smaže záznamy a vrátí počet reálně smazaných záznamů.
public getCount(
DataModel_Query $query
) : int
Určí kolik bude mít výsledek dotazu SELECT položek.
public fetchAll(
DataModel_Query $query
) : mixed
Provede dotaz SELECT na základě definice.

Prosté nahrání všech dat.
public fetchAssoc(
DataModel_Query $query
) : mixed
Provede dotaz SELECT na základě definice.

První vlastnost bude brána jako klíč pole výsledného seznamu.
public fetchPairs(
DataModel_Query $query
) : mixed
Provede dotaz SELECT na základě definice.

Vrátí asociované pole, kde klíčem bude první určená vlastnost a hodnotou ta druhá.
public fetchRow(
DataModel_Query $query
) : mixed
Provede dotaz SELECT na základě definice.

Vrátí pouze jeden řádek.
public fetchOne(
DataModel_Query $query
) : mixed
Provede dotaz SELECT na základě definice.

Vrátí pouze jednu hodnotu.
public fetchCol(
DataModel_Query $query
) : mixed
Provede dotaz SELECT na základě definice.

Výsledkem bude prosté jednorozměrné pole tvořené první nahranou vlastností entity.
public transactionStart(
) : void
Zahájí transakci.
public getTransactionStarted(
) : bool
Indikuje zda byla transakce již zahájena.
public getTransactionStarter(
) : DataModel|null
Pokud byla transakce již zahájena, tak vrátí instanci té entity, která ji zahájila.
public setTransactionStarter(
?DataModel $transaction_starter
) : void
Nastavuje instanci entity, která zahájila transakci.
public transactionCommit(
) : void
Odesílá úspěšně dokončenou transakci.
public transactionRollback(
) : void
Vrací zpět neúspěšnou transakci.
protected validateResultData(
DataModel_Query $query,
string $fetch_method,
array $data
) : array
Převádí surová data z výsledku dotazu na správné typy dle definice.
protected unserialize(
string $string
) : mixed
Deserializuje data.
protected serialize(
mixed $data
) : string
Serializuje data.
public helper_tableExists(
DataModel_Definition_Model $definition
) : bool
Určuje zda příslušná databázová tabulka již existuje.
public helper_getCreateCommand(
DataModel_Definition_Model $definition,
?string $force_table_name=null
) : string
Vrací příkaz pro vytvoření databázové tabulky pro danou třídu - tedy zpravidla SQL kód.
public helper_create(
DataModel_Definition_Model $definition
) : void
Provede vytvoření databázové tabulky dané třídy dle definice.
public helper_getDropCommand(
DataModel_Definition_Model $definition
) : string
Vrátí příkaz pro zrušení databázové tabulky.
public helper_drop(
DataModel_Definition_Model $definition
) : void
Odstraní databázovou tabulku dané třídy.
public helper_getUpdateCommand(
DataModel_Definition_Model $definition
) : array
Vrátí sadu příkazů určených k aktualizaci databázové tabulky dané třídy dle aktuální definice.
public helper_update(
DataModel_Definition_Model $definition
) : void
Provede aktualizaci databázové tabulky dané třídy dle aktuální definice.
Předchozí kapitola
Jet\DataModel_Config
Další kapitola
Jet\DataModel_Backend_Config