PHP Класс LazyRecord\Schema\DeclareSchema

Наследование: extends SchemaBase, implements LazyRecord\Schema\SchemaInterface
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$collectionInterfaceClasses string[]
$collectionTraitClasses string[]
$enableColumnAccessors
$indexes
$modelInterfaceClasses string[]
$modelTraitClasses string[]
$onDelete
$onUpdate

Открытые методы

Метод Описание
__construct ( array $options = [] ) Constructor of declare schema.
__toString ( )
addCollectionInterface ( $iface ) Implement interface in collection class.
addCollectionTrait ( $traitClass ) : ClassTemplate\ClassTrait Use trait for the model class.
addColumn ( DeclareColumn $column ) : DeclareColumn Add column object into the column list.
addModelInterface ( $iface ) Implement interface in model class.
addModelTrait ( $traitClass ) : ClassTemplate\ClassTrait Use trait for the model class.
addSeed ( string $seed ) Add seed class.
belongsTo ( $accessor, string $foreignClass, string $foreignColumn = 'id', string $selfColumn = null ) define self primary key to foreign key reference.
column ( string $name, string $class = 'LazyRecord\Schema\DeclareColumn' ) : DeclareColumn Define new column object.
dump ( )
export ( )
findPrimaryKey ( ) : string Find primary key from columns.
findPrimaryKeyColumn ( ) : DeclareColumn Find primary key column object from columns.
getClassFileName ( )
getClassName ( )
getCollectionInterfaces ( ) : string[]
getCollectionTraitClasses ( ) : string[]
getColumn ( string $name ) 'getColumn' gets the column object by the given column name.
getColumnLabels ( $includeVirtual = false )
getColumnNames ( boolean $includeVirtual = false ) : string[]
getColumns ( $includeVirtual = false )
getDirectory ( ) : string Get directory from current schema object.
getIndexQueries ( ) : SQLBuilder\Universal\Query\CreateIndexQuery[]
getLabel ( )
getModelClass ( ) : string Get model class name of this schema.
getModelInterfaces ( ) : string[]
getModelTraitClasses ( ) : string[]
getModificationTime ( ) : integer Return the modification time of this schema definition class.
getMsgIds ( )
getPrimaryKey ( ) : string Get the primary key column name.
getReadSourceId ( )
getRelatedClassPath ( string $class ) : string Get the related class file path by the given class name.
getShortClassName ( )
getTable ( ) : string Get the table name of this schema class.
getWriteSourceId ( )
hasColumn ( string $name ) : boolean hasColumn method returns true if a column name is defined.
hasMany ( )
hasOne ( string $accessor, string $foreignClass, string $foreignColumn = null, string $selfColumn ) has-one relationship.
insertColumn ( DeclareColumn $column ) Insert column object at the begining of the column list.
isNewerThanFile ( string $path ) : boolean isNewerThanFile returns true if the schema file is newer than a file.
label ( string $label ) Define schema label.
many ( string $accessor, string $foreignClass, string $foreignColumn, string $selfColumn ) Add has-many relation.
manyToMany ( string $accessor, string $relationId, string $foreignRelationId )
mixin ( string $class, array $options = [] ) Mixin.
onDelete ( string $action ) onDelete defines a software trigger of delete action.
onUpdate ( $action ) onUpdate defines a software trigger of update action.
readFrom ( string $id ) set data source for read.
removeColumn ( $columnName )
requireProxyFileUpdate ( ) : boolean requireProxyFileUpdate returns true if the schema proxy file is out of date.
schema ( )
seeds ( ) : DeclareSchema 'seeds' helps you define seed classes.
table ( string $table ) Define table name.
using ( string $id ) set data source for both write and read.
writeTo ( string $id ) set data source for write.

Защищенные методы

Метод Описание
_classnameToTable ( ) : string Convert current model name to a class name.
_modelClassToLabel ( )
build ( array $options = [] ) Build schema build the schema by running the "schema" method.
disableColumnAccessors ( ) SchemaGenerator generates column accessor methods from the column definition automatically.
getCurrentSchemaClass ( )
helper ( string $helperName, array $arguments = [] ) : BaseHelper Invode helper.
index ( $name, $columns = null, $using = null ) : SQLBuilder\Universal\Query\CreateIndexQuery 'index' method helps you define index queries.
insertAutoIdPrimaryColumn ( string $name = 'id', string $columnType = 'integer' ) Insert a primary key column with auto increment.
resolveSchemaClass ( $class )

Описание методов

__construct() публичный Метод

The constructor calls build method to build the schema information.
public __construct ( array $options = [] )
$options array

__toString() публичный Метод

public __toString ( )

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

Convert current model name to a class name.
protected _classnameToTable ( ) : string
Результат string table name

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

protected _modelClassToLabel ( )

addCollectionInterface() публичный Метод

Implement interface in collection class.
public addCollectionInterface ( $iface )

addCollectionTrait() публичный Метод

Use trait for the model class.
public addCollectionTrait ( $traitClass ) : ClassTemplate\ClassTrait
Результат ClassTemplate\ClassTrait object

addColumn() публичный Метод

Add column object into the column list.
public addColumn ( DeclareColumn $column ) : DeclareColumn
$column DeclareColumn
Результат DeclareColumn

addModelInterface() публичный Метод

Implement interface in model class.
public addModelInterface ( $iface )

addModelTrait() публичный Метод

Use trait for the model class.
public addModelTrait ( $traitClass ) : ClassTemplate\ClassTrait
Результат ClassTemplate\ClassTrait object

addSeed() публичный Метод

Add seed class.
public addSeed ( string $seed )
$seed string

belongsTo() публичный Метод

comments( post_id => author.comment_id ) $post->publisher
public belongsTo ( $accessor, string $foreignClass, string $foreignColumn = 'id', string $selfColumn = null )
$foreignClass string foreign schema class.
$foreignColumn string foreign reference schema column.
$selfColumn string self column name

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

The post process find the primary key from the built columns And insert the auto-increment primary is auto_id config is enabled.
protected build ( array $options = [] )
$options array

column() публичный Метод

Define new column object.
public column ( string $name, string $class = 'LazyRecord\Schema\DeclareColumn' ) : DeclareColumn
$name string column name
$class string column class name
Результат DeclareColumn

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

If you don't want these accessors to be generated, you may simply call 'disableColumnAccessors'
protected disableColumnAccessors ( )

dump() публичный Метод

public dump ( )

export() публичный Метод

public export ( )

findPrimaryKey() публичный Метод

This method will be called after building schema information to save the primary key name
public findPrimaryKey ( ) : string
Результат string primary key

findPrimaryKeyColumn() публичный Метод

This method will be called after building schema information to save the primary key name
public findPrimaryKeyColumn ( ) : DeclareColumn
Результат DeclareColumn

getClassFileName() публичный Метод

public getClassFileName ( )

getClassName() публичный Метод

public getClassName ( )

getCollectionInterfaces() публичный Метод

public getCollectionInterfaces ( ) : string[]
Результат string[]

getCollectionTraitClasses() публичный Метод

public getCollectionTraitClasses ( ) : string[]
Результат string[]

getColumn() публичный Метод

'getColumn' gets the column object by the given column name.
public getColumn ( string $name )
$name string

getColumnLabels() публичный Метод

public getColumnLabels ( $includeVirtual = false )

getColumnNames() публичный Метод

public getColumnNames ( boolean $includeVirtual = false ) : string[]
$includeVirtual boolean
Результат string[]

getColumns() публичный Метод

public getColumns ( $includeVirtual = false )

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

protected getCurrentSchemaClass ( )

getDirectory() публичный Метод

Get directory from current schema object.
public getDirectory ( ) : string
Результат string path

getIndexQueries() публичный Метод

public getIndexQueries ( ) : SQLBuilder\Universal\Query\CreateIndexQuery[]
Результат SQLBuilder\Universal\Query\CreateIndexQuery[]

getLabel() публичный Метод

public getLabel ( )

getModelClass() публичный Метод

Get model class name of this schema.
public getModelClass ( ) : string
Результат string model class name

getModelInterfaces() публичный Метод

public getModelInterfaces ( ) : string[]
Результат string[]

getModelTraitClasses() публичный Метод

public getModelTraitClasses ( ) : string[]
Результат string[]

getModificationTime() публичный Метод

Return the modification time of this schema definition class.
public getModificationTime ( ) : integer
Результат integer timestamp

getMsgIds() публичный Метод

public getMsgIds ( )

getPrimaryKey() публичный Метод

Get the primary key column name.
public getPrimaryKey ( ) : string
Результат string primary key column name

getReadSourceId() публичный Метод

public getReadSourceId ( )

getRelatedClassPath() публичный Метод

Get the related class file path by the given class name.
public getRelatedClassPath ( string $class ) : string
$class string the scheam related class name
Результат string the class filepath.

getShortClassName() публичный Метод

public getShortClassName ( )

getTable() публичный Метод

Get the table name of this schema class.
public getTable ( ) : string
Результат string

getWriteSourceId() публичный Метод

public getWriteSourceId ( )

hasColumn() публичный Метод

hasColumn method returns true if a column name is defined.
public hasColumn ( string $name ) : boolean
$name string
Результат boolean

hasMany() публичный Метод

public hasMany ( )

hasOne() публичный Метод

model( post_id => post )
public hasOne ( string $accessor, string $foreignClass, string $foreignColumn = null, string $selfColumn )
$accessor string accessor name.
$foreignClass string foreign schema class
$foreignColumn string foreign schema column
$selfColumn string self schema column

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

Invode helper.
protected helper ( string $helperName, array $arguments = [] ) : BaseHelper
$helperName string
$arguments array indexed array, passed to the init function of helper class.
Результат LazyRecord\Schema\Helper\BaseHelper

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

'index' method helps you define index queries.
protected index ( $name, $columns = null, $using = null ) : SQLBuilder\Universal\Query\CreateIndexQuery
Результат SQLBuilder\Universal\Query\CreateIndexQuery

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

Insert a primary key column with auto increment.
protected insertAutoIdPrimaryColumn ( string $name = 'id', string $columnType = 'integer' )
$name string default to 'id'
$columnType string 'int', 'smallint', 'bigint' ...

insertColumn() публичный Метод

Insert column object at the begining of the column list.
public insertColumn ( DeclareColumn $column )
$column DeclareColumn

isNewerThanFile() публичный Метод

isNewerThanFile returns true if the schema file is newer than a file.
public isNewerThanFile ( string $path ) : boolean
$path string
Результат boolean

label() публичный Метод

Define schema label.
public label ( string $label )
$label string label name

many() публичный Метод

TODO: provide a relationship object to handle sush operation, that will be: $this->hasMany('books','id') ->from('App_Model_Book','author_id')
public many ( string $accessor, string $foreignClass, string $foreignColumn, string $selfColumn )
$accessor string accessor name.
$foreignClass string foreign schema class
$foreignColumn string foreign schema column
$selfColumn string self schema column

manyToMany() публичный Метод

public manyToMany ( string $accessor, string $relationId, string $foreignRelationId )
$accessor string accessor name.
$relationId string a hasMany relationship.
$foreignRelationId string foreign relation id.

mixin() публичный Метод

Availabel mixins $this->mixin('Metadata' , array( options ) ); $this->mixin('I18n');
public mixin ( string $class, array $options = [] )
$class string mixin class name
$options array

onDelete() публичный Метод

onDelete defines a software trigger of delete action.
public onDelete ( string $action )
$action string Currently for 'cascade'

onUpdate() публичный Метод

onUpdate defines a software trigger of update action.
public onUpdate ( $action )

readFrom() публичный Метод

set data source for read.
public readFrom ( string $id )
$id string data source id

removeColumn() публичный Метод

public removeColumn ( $columnName )

requireProxyFileUpdate() публичный Метод

requireProxyFileUpdate returns true if the schema proxy file is out of date.
public requireProxyFileUpdate ( ) : boolean
Результат boolean

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

protected resolveSchemaClass ( $class )

schema() публичный Метод

public schema ( )

seeds() публичный Метод

$this->seeds('User\\Seed','Data\\Seed');
public seeds ( ) : DeclareSchema
Результат DeclareSchema

table() публичный Метод

Define table name.
public table ( string $table )
$table string table name

using() публичный Метод

set data source for both write and read.
public using ( string $id )
$id string data source id

writeTo() публичный Метод

set data source for write.
public writeTo ( string $id )
$id string data source id

Описание свойств

$collectionInterfaceClasses публичное свойство

public string[] $collectionInterfaceClasses
Результат string[]

$collectionTraitClasses публичное свойство

public string[] $collectionTraitClasses
Результат string[]

$enableColumnAccessors публичное свойство

public $enableColumnAccessors

$indexes публичное свойство

public $indexes

$modelInterfaceClasses публичное свойство

public string[] $modelInterfaceClasses
Результат string[]

$modelTraitClasses публичное свойство

public string[] $modelTraitClasses
Результат string[]

$onDelete публичное свойство

public $onDelete

$onUpdate публичное свойство

public $onUpdate