CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 5.2 Chiffon API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 5.2
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • TestSuite
    • Utility
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget

Class ArrayContext

Provides a basic array based context provider for FormHelper.

This adapter is useful in testing or when you have forms backed by simple array data structures.

Important keys:

  • data Holds the current values supplied for the fields.
  • defaults The default values for fields. These values will be used when there is no data set. Data should be nested following the dot separated paths you access your fields with.
  • required A nested array of fields, relationships and boolean flags to indicate a field is required. The value can also be a string to be used as the required error message
  • schema An array of data that emulate the column structures that {@link \Cake\Database\Schema\TableSchema} uses. This array allows you to control the inferred type for fields and allows auto generation of attributes like maxlength, step and other HTML attributes. If you want primary key/id detection to work. Make sure you have provided a _constraints array that contains primary. See below for an example.
  • errors An array of validation errors. Errors should be nested following the dot separated paths you access your fields with.

Example

 $article = [
   'data' => [
     'id' => '1',
     'title' => 'First post!',
   ],
   'schema' => [
     'id' => ['type' => 'integer'],
     'title' => ['type' => 'string', 'length' => 255],
     '_constraints' => [
       'primary' => ['type' => 'primary', 'columns' => ['id']]
     ]
   ],
   'defaults' => [
     'title' => 'Default title',
   ],
   'required' => [
     'id' => true, // will use default required message
     'title' => 'Please enter a title',
     'body' => false,
   ],
 ];
Namespace: Cake\View\Form

Constants

  • array<string>
    VALID_ATTRIBUTES ¶
    ['length', 'precision', 'comment', 'null', 'default']

Property Summary

  • $_context protected
    array<string, mixed>

    Context data for this object.

Method Summary

  • __construct() public

    Constructor.

  • attributes() public

    Get an associative array of other attributes for a field name.

  • error() public

    Get the errors for a given field

  • fieldNames() public

    Get the field names of the top level object in this context.

  • getMaxLength() public

    Get field length from validation

  • getPrimaryKey() public

    Get the fields used in the context as a primary key.

  • getRequiredMessage() public

    Gets the default "required" error message for a field

  • hasError() public

    Check whether a field has an error attached to it

  • isCreate() public

    Returns whether this form is for a create operation.

  • isPrimaryKey() public

    Returns true if the passed field name is part of the primary key for this context

  • isRequired() public

    Check if a given field is 'required'.

  • stripNesting() protected

    Strips out any numeric nesting

  • type() public

    Get the abstract field type for a given field name.

  • val() public

    Get the current value for a given field.

Method Detail

__construct() ¶ public

__construct(array $context)

Constructor.

Parameters
array $context

Context info.

attributes() ¶ public

attributes(string $field): array

Get an associative array of other attributes for a field name.

Parameters
string $field

A dot separated path to get additional data on.

Returns
array

error() ¶ public

error(string $field): array

Get the errors for a given field

Parameters
string $field

A dot separated path to check errors on.

Returns
array

fieldNames() ¶ public

fieldNames(): array<string>

Get the field names of the top level object in this context.

Returns
array<string>

getMaxLength() ¶ public

getMaxLength(string $field): int|null

Get field length from validation

In this context class, this is simply defined by the 'length' array.

Parameters
string $field

A dot separated path to check required-ness for.

Returns
int|null

getPrimaryKey() ¶ public

getPrimaryKey(): array<string>

Get the fields used in the context as a primary key.

Returns
array<string>

getRequiredMessage() ¶ public

getRequiredMessage(string $field): string|null

Gets the default "required" error message for a field

Parameters
string $field
Returns
string|null

hasError() ¶ public

hasError(string $field): bool

Check whether a field has an error attached to it

Parameters
string $field

A dot separated path to check errors on.

Returns
bool

isCreate() ¶ public

isCreate(): bool

Returns whether this form is for a create operation.

For this method to return true, both the primary key constraint must be defined in the 'schema' data, and the 'defaults' data must contain a value for all fields in the key.

Returns
bool

isPrimaryKey() ¶ public

isPrimaryKey(string $field): bool

Returns true if the passed field name is part of the primary key for this context

Parameters
string $field
Returns
bool

isRequired() ¶ public

isRequired(string $field): bool|null

Check if a given field is 'required'.

In this context class, this is simply defined by the 'required' array.

Parameters
string $field

A dot separated path to check required-ness for.

Returns
bool|null

stripNesting() ¶ protected

stripNesting(string $field): string

Strips out any numeric nesting

For example users.0.age will output as users.age

Parameters
string $field

A dot separated path

Returns
string

type() ¶ public

type(string $field): string|null

Get the abstract field type for a given field name.

Parameters
string $field

A dot separated path to get a schema type for.

Returns
string|null
See Also
\Cake\Database\TypeFactory

val() ¶ public

val(string $field, array<string, mixed> $options = []): mixed

Get the current value for a given field.

This method will coalesce the current data and the 'defaults' array.

Parameters
string $field

A dot separated path to the field a value is needed for.

array<string, mixed> $options optional

Options:

Returns
mixed

Property Detail

$_context ¶ protected

Context data for this object.

Type
array<string, mixed>
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs