Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add interface class for form contexts.
Having an interface will make type checks simpler, and make it clear to userland extensions what methods are required.
- Loading branch information
Showing
4 changed files
with
102 additions
and
41 deletions.
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,89 @@ | ||
<?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 CakePHP(tm) v 3.0 | ||
* @license http://www.opensource.org/licenses/mit-license.php MIT License | ||
*/ | ||
namespace Cake\View\Form; | ||
|
||
/** | ||
* Interface for FormHelper context implementations. | ||
*/ | ||
interface ContextInterface { | ||
|
||
/** | ||
* Get the fields used in the context as a primary key. | ||
* | ||
* @return array | ||
*/ | ||
public function primaryKey(); | ||
|
||
/** | ||
* Returns whether or not this form is for a create operation. | ||
* | ||
* @return boolean | ||
*/ | ||
public function isCreate(); | ||
|
||
/** | ||
* Get the current value for a given field. | ||
* | ||
* @param string $field A dot separated path to the field a value | ||
* is needed for. | ||
* @return mixed | ||
*/ | ||
public function val($field); | ||
|
||
/** | ||
* Check if a given field is 'required'. | ||
* | ||
* In this context class, this is simply defined by the 'required' array. | ||
* | ||
* @param string $field A dot separated path to check required-ness for. | ||
* @return boolean | ||
*/ | ||
public function isRequired($field); | ||
|
||
/** | ||
* Get the abstract field type for a given field name. | ||
* | ||
* @param string $field A dot separated path to get a schema type for. | ||
* @return null|string An abstract data type or null. | ||
* @see Cake\Database\Type | ||
*/ | ||
public function type($field); | ||
|
||
/** | ||
* Get an associative array of other attributes for a field name. | ||
* | ||
* @param string $field A dot separated path to get additional data on. | ||
* @return array An array of data describing the additional attributes on a field. | ||
*/ | ||
public function attributes($field); | ||
|
||
/** | ||
* Check whether or not a field has an error attached to it | ||
* | ||
* @param string $field A dot separated path to check errors on. | ||
* @return boolean Returns true if the errors for the field are not empty. | ||
*/ | ||
public function hasError($field); | ||
|
||
/** | ||
* Get the errors for a given field | ||
* | ||
* @param string $field A dot separated path to check errors on. | ||
* @return array An array of errors, an empty array will be returned when the | ||
* context has no errors. | ||
*/ | ||
public function error($field); | ||
|
||
} |
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