Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added an interface as alluded to in the docs
- Loading branch information
David Yell
committed
Jul 26, 2016
1 parent
adf7320
commit 31d7f93
Showing
2 changed files
with
62 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
<?php | ||
/** | ||
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org) | ||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||
* | ||
* Licensed under The MIT License | ||
* For full copyright and license information, please see the LICENSE.txt | ||
* Redistributions of files must retain the above copyright notice. | ||
* | ||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||
* @link http://cakephp.org CakePHP(tm) Project | ||
* @since 3.3.0 | ||
* @license http://www.opensource.org/licenses/mit-license.php MIT License | ||
*/ | ||
namespace Cake\Database; | ||
|
||
/** | ||
* Encapsulates all conversion functions for values coming from database into PHP and | ||
* going from PHP into database. | ||
*/ | ||
interface TypeInterface | ||
{ | ||
|
||
/** | ||
* Casts given value from a PHP type to one acceptable by database | ||
* | ||
* @param mixed $value value to be converted to database equivalent | ||
* @param \Cake\Database\Driver $driver object from which database preferences and configuration will be extracted | ||
* @return mixed | ||
*/ | ||
public function toDatabase($value, Driver $driver); | ||
|
||
/** | ||
* Casts given value from a database type to PHP equivalent | ||
* | ||
* @param mixed $value value to be converted to PHP equivalent | ||
* @param \Cake\Database\Driver $driver object from which database preferences and configuration will be extracted | ||
* @return mixed | ||
*/ | ||
public function toPHP($value, Driver $driver); | ||
|
||
/** | ||
* Casts give value to Statement equivalent | ||
* | ||
* @param mixed $value value to be converted to PHP equivalent | ||
* @param \Cake\Database\Driver $driver object from which database preferences and configuration will be extracted | ||
* @return mixed | ||
*/ | ||
public function toStatement($value, Driver $driver); | ||
|
||
/** | ||
* Marshalls flat data into PHP objects. | ||
* | ||
* Most useful for converting request data into PHP objects | ||
* that make sense for the rest of the ORM/Database layers. | ||
* | ||
* @param mixed $value The value to convert. | ||
* @return mixed Converted value. | ||
*/ | ||
public function marshal($value); | ||
} |