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 4.6 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.6
      • 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
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget

Class ContextFactory

Factory for getting form context instance based on provided data.

Namespace: Cake\View\Form

Property Summary

  • $providers protected
    array<string, array>

    Context providers.

Method Summary

  • __construct() public

    Constructor.

  • addProvider() public

    Add a new context type.

  • createWithDefaults() public static

    Create factory instance with providers "array", "form" and "orm".

  • get() public

    Find the matching context for the data.

Method Detail

__construct() ¶ public

__construct(array $providers = [])

Constructor.

Parameters
array $providers optional

Array of provider callables. Each element should be of form ['type' => 'a-string', 'callable' => ..]

addProvider() ¶ public

addProvider(string $type, callable $check): $this

Add a new context type.

Form context types allow FormHelper to interact with data providers that come from outside CakePHP. For example if you wanted to use an alternative ORM like Doctrine you could create and connect a new context class to allow FormHelper to read metadata from doctrine.

Parameters
string $type

The type of context. This key can be used to overwrite existing providers.

callable $check

A callable that returns an object when the form context is the correct type.

Returns
$this

createWithDefaults() ¶ public static

createWithDefaults(array $providers = []): static

Create factory instance with providers "array", "form" and "orm".

Parameters
array $providers optional

Array of provider callables. Each element should be of form ['type' => 'a-string', 'callable' => ..]

Returns
static

get() ¶ public

get(Cake\Http\ServerRequest $request, array<string, mixed> $data = []): Cake\View\Form\ContextInterface

Find the matching context for the data.

If no type can be matched a NullContext will be returned.

Parameters
Cake\Http\ServerRequest $request

Request instance.

array<string, mixed> $data optional

The data to get a context provider for.

Returns
Cake\View\Form\ContextInterface
Throws
RuntimeException
When a context instance cannot be generated for given entity.

Property Detail

$providers ¶ protected

Context providers.

Type
array<string, array>
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