Class Core
Core of the ICanBoogie framework.
-
ICanBoogie\Core
uses
ICanBoogie\PrototypeTrait (not available)
ICanBoogie\Binding\Event\CoreBindings (not available)
ICanBoogie\Binding\HTTP\CoreBindings (not available)
Methods summary
protected
get_is_booting( void )
: boolean
Whether the core is booting.
Whether the core is booting.
Returns
boolean
true
if the core is booting, false
otherwise.
protected
get_is_booted( void )
: boolean
Whether the core is booted.
Whether the core is booted.
Returns
boolean
true
if the core is booted, false
otherwise.
protected
get_is_running( void )
: boolean
Whether the core is running.
Whether the core is running.
Returns
boolean
true
if the core is running, false
otherwise.
public static
get( void )
: ICanBoogie\Core
Returns the unique instance of the core object.
Returns the unique instance of the core object.
Returns
public
__construct( array $options
= [] )
Constructor.
Parameters
$options
- Initial options to create the core object.
Throws
public
assert_not_booted( void )
Asserts that the application is not booted yet.
Asserts that the application is not booted yet.
Throws
public
assert_not_running( void )
Asserts that the application is not running yet.
Asserts that the application is not running yet.
Throws
protected
create_config_manager( array $paths
, array $synthesizers
)
: Config
Returns configuration manager.
Returns configuration manager.
Parameters
$paths
- Path list.
$synthesizers
- Configuration synthesizers.
Returns
Config
protected
apply_config( array $config
)
Applies low-level configuration.
Applies low-level configuration.
Parameters
protected
create_storage( string|callable $engine
)
: ICanBoogie\Storage\Storage
Creates a storage engine.
Creates a storage engine.
Parameters
$engine
- A class name or a callable.
Returns
ICanBoogie\Storage\Storage
protected
create_storage_for_configs( string|callable $engine
)
: ICanBoogie\Storage\Storage
Creates storage engine for synthesized configs.
Creates storage engine for synthesized configs.
Parameters
$engine
- A class name or a callable.
Returns
ICanBoogie\Storage\Storage
protected
get_storage_for_configs( void )
: ICanBoogie\Storage\Storage
Returns
ICanBoogie\Storage\Storage
protected
create_storage_for_vars( string|callable $engine
)
: ICanBoogie\Storage\Storage
Creates storage engine for variables.
Creates storage engine for variables.
Parameters
$engine
- A class name or a callable.
Returns
ICanBoogie\Storage\Storage
protected
lazy_get_vars( void )
: ICanBoogie\Storage\Storage
Returns the non-volatile variables registry.
Returns the non-volatile variables registry.
Returns
ICanBoogie\Storage\Storage
protected
lazy_get_config( void )
: array
Returns the core configuration.
Returns the core configuration.
Returns
array
protected
set_timezone( TimeZone|string|integer $timezone
)
Sets the working time zone.
Sets the working time zone.
When the time zone is set the default time zone is also set with
date_default_timezone_set().
Parameters
$timezone
An instance of TimeZone,
the name of a time zone, or numeric equivalent e.g. 3600.
protected
get_timezone( void )
: TimeZone
Returns the working time zone.
Returns the working time zone.
If the time zone is not defined yet it defaults to the value of
date_default_timezone_get() or "UTC".
Returns
TimeZone
protected
change_status( integer $status
, callable $callable
)
: mixed
Changes the status of the application.
Changes the status of the application.
Parameters
Returns
mixed
public
boot( void )
Boot the modules and configure Debug, Prototype and Events.
Boot the modules and configure Debug, Prototype and Events.
The boot
event of class ICanBoogie\Core\BootEvent
is fired after the boot is finished.
The ICANBOOGIE_READY_TIME_FLOAT
key is added to the $_SERVER
super global with the
micro-time at which the boot finished.
Throws
public
__invoke( ICanBoogie\HTTP\Request $request
= null )
Run the application.
In order to avoid error messages triggered by PHP fatal errors to be send with a 200 (Ok)
HTTP code, the HTTP code is changed to 500 before the core is run (and booted). When the
process runs properly the HTTP code is changed to the appropriate value by the response.
The ICanBoogie\Core::boot()
method is invoked if the core has not booted yet.
Parameters
$request
- The request to handle. If
null
, the initial request is used.
protected
run( ICanBoogie\HTTP\Request $request
)
Fires the ICanBoogie\Core::run
event.
Fires the ICanBoogie\Core::run
event.
Parameters
protected
terminate( ICanBoogie\HTTP\Request $request
, ICanBoogie\HTTP\Response $response
)
Terminate the application.
Constants summary
STATUS_VOID
: integer
Status of the application.
Status of the application.
0
STATUS_INSTANTIATING
: integer
1
STATUS_INSTANTIATED
: integer
2
STATUS_CONFIGURING
: integer
3
STATUS_BOOTING
: integer
5
STATUS_BOOTED
: integer
6
STATUS_RUNNING
: integer
7
STATUS_TERMINATED
: integer
8
Properties summary
Magic properties
public
$vars
: ICanBoogie\Storage\Storage
Persistent variables registry.
public
$session
: Session
public
$language
: string
public
$timezone
: string|integer
public
$config
: array
The "core" configuration.
public read-only
$is_booting
: boolean
true
if the core is booting, false
otherwise.
public read-only
$is_booted
: boolean
true
if the core is booted, false
otherwise.
public read-only
$is_running
: boolean
true
if the core is running, false
otherwise.
public read-only
$storage_for_configs
: ICanBoogie\Storage\Storage