Class DataSource
DataSource base class
- Object
- 
			 DataSource DataSource
Direct Subclasses
Indirect Subclasses
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: model/datasources/datasource.php
Properties summary
- 
			$__descriptionspublicarrayHolds references to descriptions loaded by the DataSource
- 
			$_baseConfigpublicarrayThe default configuration of a specific DataSource
- 
			$_queriesCntpublicintegerQueries count.
- 
			$_queriesLogpublicunknown_typeLog of queries executed by this DataSource
- 
			$_queriesLogMaxpublicintegerMaximum number of items in query log
- 
			$_queriesTimepublicunknown_typeTotal duration of all queries.
- 
			$_queryCachepublicarrayCaches serialzed results of executed queries
- 
			$_resultpublicarrayResult
- 
			$_sourcespublicarrayHolds a list of sources (tables) contained in the DataSource
- 
			$_transactionStartedpublicbooleanWhether or not this DataSource is in the middle of a transaction
- 
			$affectedpublicstringString to hold how many rows were affected by the last SQL operation.
- 
			$cacheSourcespublicbooleanWhether or not source data like available tables and schema descriptions should be cached 
- 
			$configpublicarrayThe DataSource configuration
- 
			$configKeyNamepublicstringThe DataSource configuration key name
- 
			$connectedpublicbooleanAre we connected to the DataSource?
- 
			$connectionpublicarrayA reference to the physical connection of this DataSource
- 
			$endQuotepublicstringThe ending character that this DataSource uses for quoted identifiers.
- 
			$errorpublicunknown_typeError description of last query
- 
			$fullDebugpublicbooleanPrint full query debug info?
- 
			$numRowspublicintegerNumber of rows in current resultset
- 
			$startQuotepublicstringThe starting character that this DataSource uses for quoted identifiers.
- 
			$tookpublicintegerTime the last query took
Method Summary
- 
			__cacheDescription() publicCache the DataSource description
- 
			__construct() publicConstructor.
- 
			__destruct() publicCloses the current datasource.
- 
			begin() publicBegin a transaction
- 
			column() publicConverts column types to basic types
- 
			commit() publicCommit a transaction
- 
			create() publicUsed to create new records. The "C" CRUD.
- 
			delete() publicDelete a record(s) in the datasource.
- 
			describe() publicReturns a Model description (metadata) or null if none found.
- 
			enabled() publicCheck whether the conditions for the Datasource being available are satisfied. Often used from connect() to check for support before establishing a connection. 
- 
			insertQueryData() publicReplaces{$__cakeID__$}and{$__cakeForeignKey__$}placeholders in query data.
- 
			isInterfaceSupported() publicReturns true if the DataSource supports the given interface (method)
- 
			lastAffected() publicReturns the number of rows affected by last query.
- 
			lastInsertId() publicReturns the ID generated from the previous INSERT operation.
- 
			lastNumRows() publicReturns the number of rows returned by last operation.
- 
			listSources() publicCaches/returns cached results for child instances
- 
			read() publicUsed to read records from the Datasource. The "R" in CRUD
- 
			resolveKey() publicTo-be-overridden in subclasses.
- 
			rollback() publicRollback a transaction
- 
			setConfig() publicSets the configuration for the DataSource. Merges the $config information with the _baseConfig and the existing $config property. 
- 
			sources() publicConvenience method for DboSource::listSources(). Returns source names in lowercase.
- 
			update() publicUpdate a record(s) in the datasource.
Method Detail
__cacheDescription() public ¶
__cacheDescription( string $object , mixed $data = null )
Cache the DataSource description
Parameters
- string $object
- The name of the object (model) to cache
- mixed $data optional null
- The description of the model, usually a string or array
Returns
__construct() public ¶
__construct( array $config = array() )
Constructor.
Parameters
- array $config optional array()
- Array of configuration information for the datasource.
Returns
Overrides
begin() public ¶
begin( $model )
Begin a transaction
Returns
Returns true if a transaction is not in progress
column() public ¶
column( string $real )
Converts column types to basic types
Parameters
- string $real
- Real column type (i.e. "varchar(255)")
Returns
Abstract column type (i.e. "string")
commit() public ¶
commit( $model )
Commit a transaction
Returns
Returns true if a transaction is in progress
create() public ¶
create( Model $model , array $fields = null , array $values = null )
		
Used to create new records. The "C" CRUD.
To-be-overridden in subclasses.
Parameters
- 
						Model$model
- The Model to be created.
- array $fields optional null
- An Array of fields to be saved.
- array $values optional null
- An Array of values to save.
Returns
success
delete() public ¶
delete( Model $model , mixed $conditions = null )
		
Delete a record(s) in the datasource.
To-be-overridden in subclasses.
Parameters
- 
						Model$model
- The model class having record(s) deleted
- mixed $conditions optional null
- The conditions to use for deleting.
describe() public ¶
describe( Model $model )
		
Returns a Model description (metadata) or null if none found.
Parameters
- 
						Model$model
Returns
Array of Metadata for the $model
enabled() public ¶
enabled( )
Check whether the conditions for the Datasource being available are satisfied. Often used from connect() to check for support before establishing a connection.
Returns
Whether or not the Datasources conditions for use are met.
insertQueryData() public ¶
insertQueryData( string $query , array $data , string $association , unknown_type $assocData , Model $model , Model $linkModel , array $stack )
		
Replaces {$__cakeID__$} and {$__cakeForeignKey__$} placeholders in query data.
Parameters
- string $query
- Query string needing replacements done.
- array $data
- Array of data with values that will be inserted in placeholders.
- string $association
- Name of association model being replaced
- unknown_type $assocData
- 
						Model$model
- Instance of the model to replace $cakeID$
- 
						Model$linkModel
- Instance of model to replace $cakeForeignKey$
- array $stack
Returns
String of query data with placeholders replaced.
isInterfaceSupported() public ¶
isInterfaceSupported( string $interface )
Returns true if the DataSource supports the given interface (method)
Parameters
- string $interface
- The name of the interface (method)
Returns
True on success
lastAffected() public ¶
lastAffected( unknown_type $source = null )
Returns the number of rows affected by last query.
Parameters
- unknown_type $source optional null
Returns
Number of rows affected by last query.
lastInsertId() public ¶
lastInsertId( unknown_type $source = null )
Returns the ID generated from the previous INSERT operation.
Parameters
- unknown_type $source optional null
Returns
Last ID key generated in previous INSERT
lastNumRows() public ¶
lastNumRows( unknown_type $source = null )
Returns the number of rows returned by last operation.
Parameters
- unknown_type $source optional null
Returns
Number of rows returned by last operation
listSources() public ¶
listSources( mixed $data = null )
Caches/returns cached results for child instances
Parameters
- mixed $data optional null
Returns
Array of sources available in this datasource.
read() public ¶
read( Model $model , array $queryData = array() )
		
Used to read records from the Datasource. The "R" in CRUD
To-be-overridden in subclasses.
Parameters
- 
						Model$model
- The model being read.
- array $queryData optional array()
- An array of query data used to find the data you want
Returns
resolveKey() public ¶
resolveKey( Model $model , string $key )
		
To-be-overridden in subclasses.
Parameters
- 
						Model$model
- Model instance
- string $key
- Key name to make
Returns
Key name for model.
rollback() public ¶
rollback( $model )
Rollback a transaction
Returns
Returns true if a transaction is in progress
setConfig() public ¶
setConfig( array $config = array() )
Sets the configuration for the DataSource. Merges the $config information with the _baseConfig and the existing $config property.
Parameters
- array $config optional array()
- The configuration array
sources() public ¶
sources( boolean $reset = false )
Convenience method for DboSource::listSources(). Returns source names in lowercase.
Parameters
- boolean $reset optional false
- Whether or not the source list should be reset.
Returns
Array of sources available in this datasource
update() public ¶
update( Model $model , array $fields = null , array $values = null )
		
Update a record(s) in the datasource.
To-be-overridden in subclasses.
Parameters
- 
						Model$model
- Instance of the model class being updated
- array $fields optional null
- Array of fields to be updated
- array $values optional null
- Array of values to be update $fields to.
Returns
Success
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
Properties detail
$_queriesLogMax ¶
Maximum number of items in query log
This is to prevent query log taking over too much memory.
200
			$_transactionStarted ¶
Whether or not this DataSource is in the middle of a transaction
false
			$affected ¶
String to hold how many rows were affected by the last SQL operation.
null
			$cacheSources ¶
Whether or not source data like available tables and schema descriptions should be cached
true
			$endQuote ¶
The ending character that this DataSource uses for quoted identifiers.
null
			$startQuote ¶
The starting character that this DataSource uses for quoted identifiers.
null
			