ICanBoogie/Prototype v2.2.1
  • Namespace
  • Class

Namespaces

  • ICanBoogie
    • Prototype

Classes

  • Object
  • Prototype

Traits

  • PrototypeTrait

Class Prototype

Subclasses of the ICanBoogie\Object class are associated with a prototype, which can be used to add methods as well as getters and setters to classes.

When using the ICanBoogie framework, methods can be defined using the "hooks" config and the "prototypes" namespace:

<?php

return [

    'prototypes' => [

        'Icybee\Modules\Pages\Page::my_additional_method' => 'MyHookClass::my_additional_method',
        'Icybee\Modules\Pages\Page::lazy_get_my_property' => 'MyHookClass::lazy_get_my_property'

    ]
];
ICanBoogie\Prototype implements ArrayAccess, IteratorAggregate
Namespace: ICanBoogie
Located at Prototype.php

Methods summary

public static ICanBoogie\Prototype
# from( string|object $class )

Returns the prototype associated with the specified class or object.

Returns the prototype associated with the specified class or object.

Parameters

$class
Class name or instance.

Returns

ICanBoogie\Prototype
public static
# configure( array $config )
protected
# __construct( string $class )

Creates a prototype for the specified class.

Creates a prototype for the specified class.

Parameters

$class
protected callable[]
# get_consolidated_methods( )

Consolidate the methods of the prototype.

Consolidate the methods of the prototype.

The method creates a single array from the prototype methods and those of its parents.

Returns

callable[]
protected
# revoke_consolidated_methods( )

Revokes the consolidated methods of the prototype.

Revokes the consolidated methods of the prototype.

The method must be invoked when prototype methods are modified.

public
# offsetSet( string $method, callable $callback )

Adds or replaces the specified method of the prototype.

Adds or replaces the specified method of the prototype.

Parameters

$method
The name of the method.
$callback

Implementation of

ArrayAccess::offsetSet()
public
# offsetUnset( string $method )

Removed the specified method from the prototype.

Removed the specified method from the prototype.

Parameters

$method
The name of the method.

Implementation of

ArrayAccess::offsetUnset()
public boolean
# offsetExists( string $method )

Checks if the prototype defines the specified method.

Checks if the prototype defines the specified method.

Parameters

$method
The name of the method.

Returns

boolean

Implementation of

ArrayAccess::offsetExists()
public callable
# offsetGet( string $method )

Returns the callback associated with the specified method.

Returns the callback associated with the specified method.

Parameters

$method
The name of the method.

Returns

callable

Throws

ICanBoogie\Prototype\MethodNotDefined
if the method is not defined.

Implementation of

ArrayAccess::offsetGet()
public
# getIterator( )

Returns an iterator for the prototype methods.

Returns an iterator for the prototype methods.

Implementation of

IteratorAggregate::getIterator()

Properties summary

protected static array[string]Prototype $prototypes

Prototypes built per class.

Prototypes built per class.

# []
protected static array[string]callable $pool

Pool of prototype methods per class.

Pool of prototype methods per class.

#
protected string $class

Class associated with the prototype.

Class associated with the prototype.

#
protected ICanBoogie\Prototype $parent

Parent prototype.

Parent prototype.

#
protected array[string]callable $methods

Methods defined by the prototype.

Methods defined by the prototype.

# []
protected array[string]callable $consolidated_methods

Methods defined by the prototypes chain.

Methods defined by the prototypes chain.

#
ICanBoogie/Prototype v2.2.1 API documentation generated by ApiGen