Class CakeSchema
Base Class for Schema management
- Object
- CakeSchema
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: model/cake_schema.php
Properties summary
Method Summary
-
__columns() public
Formats Schema columns from Model Object -
__construct() public
Constructor -
__values() public
Formats Schema columns from Model Object -
_arrayDiffAssoc() public
Extended array_diff_assoc noticing change from/to NULL values -
_build() public
Builds schema object properties -
_compareIndexes() public
Compare two schema indexes -
_compareTableParameters() public
Compare two schema files table Parameters -
_noPrefixTable() public
Trim the table prefix from the full table name, and return the prefix-less table -
after() public
After callback to be implemented in subclasses -
before() public
Before callback to be implemented in subclasses -
compare() public
Compares two sets of schemas -
generateTable() public
Generate the code for a table. Takes a table name and $fields array Returns a completed variable declaration to be used in schema classes
-
load() public
Reads database and creates schema tables -
read() public
Reads database and creates schema tables -
write() public
Writes schema file from object or options
Method Detail
__columns() public ¶
__columns( array $Obj )
Formats Schema columns from Model Object
Parameters
- array $Obj
- model object
Returns
Formatted columns
__construct() public ¶
__construct( array $options = array() )
Constructor
Parameters
- array $options optional array()
- optional load object properties
Overrides
__values() public ¶
__values( array $values )
Formats Schema columns from Model Object
Parameters
- array $values
- options keys(type, null, default, key, length, extra)
Returns
Formatted values
_arrayDiffAssoc() public ¶
_arrayDiffAssoc( array $array1 , array $array2 )
Extended array_diff_assoc noticing change from/to NULL values
It behaves almost the same way as array_diff_assoc except for NULL values: if one of the values is not NULL - change is detected. It is useful in situation where one value is strval('') ant other is strval(null) - in string comparing methods this results as EQUAL, while it is not.
Parameters
- array $array1
- Base array
- array $array2
- Corresponding array checked for equality
Returns
Difference as array with array(keys => values) from input array where match was not found.
_build() public ¶
_build( array $data )
Builds schema object properties
Parameters
- array $data
- loaded object properties
_compareIndexes() public ¶
_compareIndexes( array $new , array $old )
Compare two schema indexes
Parameters
- array $new
- New indexes
- array $old
- Old indexes
Returns
false on failure or array of indexes to add and drop
_compareTableParameters() public ¶
_compareTableParameters( array $new , array $old )
Compare two schema files table Parameters
Parameters
- array $new
- New indexes
- array $old
- Old indexes
Returns
False on failure, or an array of parameters to add & drop.
_noPrefixTable() public ¶
_noPrefixTable( string $prefix , string $table )
Trim the table prefix from the full table name, and return the prefix-less table
Parameters
- string $prefix
- Table prefix
- string $table
- Full table name
Returns
Prefix-less table name
after() public ¶
after( array $event = array() )
After callback to be implemented in subclasses
Parameters
- array $event optional array()
- $events schema object properties
before() public ¶
before( array $event = array() )
Before callback to be implemented in subclasses
Parameters
- array $event optional array()
- $events schema object properties
Returns
Should process continue
compare() public ¶
compare( mixed $old , mixed $new = null )
Compares two sets of schemas
Parameters
- mixed $old
- Schema object or array
- mixed $new optional null
- Schema object or array
Returns
Tables (that are added, dropped, or changed)
generateTable() public ¶
generateTable( string $table , array $fields )
Generate the code for a table. Takes a table name and $fields array Returns a completed variable declaration to be used in schema classes
Parameters
- string $table
- Table name you want returned.
- array $fields
- Array of field information to generate the table with.
Returns
Variable declaration for a schema class
load() public ¶
load( array $options = array() )
Reads database and creates schema tables
Parameters
- array $options optional array()
- schema object properties
Returns
Set of name and tables
read() public ¶
read( array $options = array() )
Reads database and creates schema tables
Options
- 'connection' - the db connection to use
- 'name' - name of the schema
- 'models' - a list of models to use, or false to ignore models
Parameters
- array $options optional array()
- schema object properties
Returns
Array indexed by name and tables
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class