-
Notifications
You must be signed in to change notification settings - Fork 3.4k
/
ContextInterface.php
110 lines (99 loc) · 3.33 KB
/
ContextInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?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.0.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 true if the passed field name is part of the primary key for this context
*
* @param string $field A dot separated path to the field a value
* is needed for.
* @return bool
*/
public function isPrimaryKey($field);
/**
* Returns whether or not this form is for a create operation.
*
* @return bool
*/
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.
* @param array $options Options:
* - `default`: Default value to return if no value found in request
* data or context record.
* - `schemaDefault`: Boolen indicating whether default value from
* context's schema should be used if it's not explicitly provided.
* @return mixed
*/
public function val($field, $options = []);
/**
* 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 bool
*/
public function isRequired($field);
/**
* Get the fieldnames of the top level object in this context.
*
* @return array A list of the field names in the context.
*/
public function fieldNames();
/**
* 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 bool 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);
}