Skip to content
Permalink
Browse files

Added an interface as alluded to in the docs

  • Loading branch information...
davidyell committed Jul 26, 2016
1 parent adf7320 commit 31d7f93001556726d66b84e5553ddc1129888db5
Showing with 62 additions and 1 deletion.
  1. +1 −1 src/Database/Type.php
  2. +61 −0 src/Database/TypeInterface.php
@@ -21,7 +21,7 @@
* Encapsulates all conversion functions for values coming from database into PHP and
* going from PHP into database.
*/
class Type
class Type implements TypeInterface
{
/**
@@ -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);
}

0 comments on commit 31d7f93

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.