PHP Class Neos\Flow\Core\Bootstrap

Mostra file Open project: neos/flow-development-collection Class Usage Examples

Public Properties

Property Type Description
$staticObjectManager Neos\Flow\ObjectManagement\ObjectManagerInterface The same instance like $objectManager, but static, for use in the proxy classes.

Protected Properties

Property Type Description
$activeRequestHandler Neos\Flow\Core\RequestHandlerInterface
$compiletimeCommands array
$context ApplicationContext
$earlyInstances array
$preselectedRequestHandlerClassName string
$requestHandlers array

Public Methods

Method Description
__construct ( string $context ) Constructor
buildCompiletimeSequence ( ) : Sequence Builds a boot sequence starting all modules necessary for the compiletime state.
buildEssentialsSequence ( string $identifier ) : Sequence Builds a boot sequence with the minimum modules necessary for both, compiletime and runtime.
buildRuntimeSequence ( ) : Sequence Builds a boot sequence starting all modules necessary for the runtime state.
getActiveRequestHandler ( ) : Neos\Flow\Core\RequestHandlerInterface Returns the request handler (if any) which is currently handling the request.
getContext ( ) : ApplicationContext Returns the context this bootstrap was started in.
getEarlyInstance ( string $objectName ) : object Returns an instance which was registered earlier through setEarlyInstance()
getEarlyInstances ( ) : array Returns all registered early instances indexed by object name
getEnvironmentConfigurationSetting ( string $variableName ) : string Tries to find an environment setting with the following fallback chain:
getObjectManager ( ) : Neos\Flow\ObjectManagement\ObjectManagerInterface Returns the object manager instance
getSignalSlotDispatcher ( ) : Dispatcher Returns the signal slot dispatcher instance
initializePersistenceManager ( ) : Neos\Flow\Persistence\PersistenceManagerInterface
isCompiletimeCommand ( string $commandIdentifier ) : boolean Tells if the given command controller is registered for compiletime or not.
registerCompiletimeCommand ( string $commandIdentifier ) : void Registers a command specified by the given identifier to be called during compiletime (versus runtime). The related command controller must be totally aware of the limited functionality Flow provides at compiletime.
registerRequestHandler ( Neos\Flow\Core\RequestHandlerInterface $requestHandler ) : void Registers a request handler which can possibly handle a request.
run ( ) : void Bootstraps the minimal infrastructure, resolves a fitting request handler and then passes control over to that request handler.
setActiveRequestHandler ( Neos\Flow\Core\RequestHandlerInterface $requestHandler ) : void Explicitly sets the active request handler.
setEarlyInstance ( string $objectName, object $instance ) : void Registers the instance of the specified object for an early boot stage.
setPreselectedRequestHandlerClassName ( string $className ) Preselects a specific request handler. If such a request handler exists, it will be used if it can handle the request – regardless of the priority of this or other request handlers.
shutdown ( string $runlevel ) : void Initiates the shutdown procedure to safely close all connections, save modified data and commit other tasks necessary to cleanly exit Flow.

Protected Methods

Method Description
defineConstants ( ) : void Defines various path constants used by Flow and if no root path or web root was specified by an environment variable, exits with a respective error message.
emitBootstrapShuttingDown ( string $runLevel ) : void Emits a signal that the bootstrap finished and is shutting down.
emitFinishedCompiletimeRun ( ) : void Emits a signal that the compile run was finished.
emitFinishedRuntimeRun ( ) : void Emits a signal that the runtime run was finished.
ensureRequiredEnvironment ( ) : void Checks PHP version and other parameters of the environment
resolveRequestHandler ( ) : Neos\Flow\Core\RequestHandlerInterface Iterates over the registered request handlers and determines which one fits best.

Method Details

__construct() public method

Constructor
public __construct ( string $context )
$context string The application context, for example "Production" or "Development"

buildCompiletimeSequence() public method

This includes all of the "essentials" sequence.
public buildCompiletimeSequence ( ) : Sequence
return Neos\Flow\Core\Booting\Sequence

buildEssentialsSequence() public method

Builds a boot sequence with the minimum modules necessary for both, compiletime and runtime.
public buildEssentialsSequence ( string $identifier ) : Sequence
$identifier string
return Neos\Flow\Core\Booting\Sequence

buildRuntimeSequence() public method

This includes all of the "essentials" sequence.
public buildRuntimeSequence ( ) : Sequence
return Neos\Flow\Core\Booting\Sequence

defineConstants() protected method

Defines various path constants used by Flow and if no root path or web root was specified by an environment variable, exits with a respective error message.
protected defineConstants ( ) : void
return void

emitBootstrapShuttingDown() protected method

Emits a signal that the bootstrap finished and is shutting down.
protected emitBootstrapShuttingDown ( string $runLevel ) : void
$runLevel string
return void

emitFinishedCompiletimeRun() protected method

Emits a signal that the compile run was finished.
protected emitFinishedCompiletimeRun ( ) : void
return void

emitFinishedRuntimeRun() protected method

Emits a signal that the runtime run was finished.
protected emitFinishedRuntimeRun ( ) : void
return void

ensureRequiredEnvironment() protected method

Checks PHP version and other parameters of the environment
protected ensureRequiredEnvironment ( ) : void
return void

getActiveRequestHandler() public method

Returns the request handler (if any) which is currently handling the request.
public getActiveRequestHandler ( ) : Neos\Flow\Core\RequestHandlerInterface
return Neos\Flow\Core\RequestHandlerInterface

getContext() public method

Returns the context this bootstrap was started in.
public getContext ( ) : ApplicationContext
return ApplicationContext The context encapsulated in an object, for example "Development" or "Development/MyDeployment"

getEarlyInstance() public method

Returns an instance which was registered earlier through setEarlyInstance()
public getEarlyInstance ( string $objectName ) : object
$objectName string Object name of the registered instance
return object

getEarlyInstances() public method

Returns all registered early instances indexed by object name
public getEarlyInstances ( ) : array
return array

getEnvironmentConfigurationSetting() public static method

- getenv with $variableName - getenv with REDIRECT_ . $variableName (this is for php cgi where environment variables from the http server get prefixed) - $_SERVER[$variableName] (this is an alternative to set FLOW_* environment variables if passing environment variables is not possible) - $_SERVER[REDIRECT_ . $variableName] (again for php cgi environments)
public static getEnvironmentConfigurationSetting ( string $variableName ) : string
$variableName string
return string or NULL if this variable was not set at all.

getObjectManager() public method

Returns the object manager instance
public getObjectManager ( ) : Neos\Flow\ObjectManagement\ObjectManagerInterface
return Neos\Flow\ObjectManagement\ObjectManagerInterface

getSignalSlotDispatcher() public method

Returns the signal slot dispatcher instance
public getSignalSlotDispatcher ( ) : Dispatcher
return Neos\Flow\SignalSlot\Dispatcher

initializePersistenceManager() public method

public initializePersistenceManager ( ) : Neos\Flow\Persistence\PersistenceManagerInterface
return Neos\Flow\Persistence\PersistenceManagerInterface

isCompiletimeCommand() public method

Tells if the given command controller is registered for compiletime or not.
public isCompiletimeCommand ( string $commandIdentifier ) : boolean
$commandIdentifier string Package key, controller name and command name separated by colon, e.g. "neos.flow:cache:flush"
return boolean

registerCompiletimeCommand() public method

Registers a command specified by the given identifier to be called during compiletime (versus runtime). The related command controller must be totally aware of the limited functionality Flow provides at compiletime.
public registerCompiletimeCommand ( string $commandIdentifier ) : void
$commandIdentifier string Package key, controller name and command name separated by colon, e.g. "neos.flow:core:shell", wildcard for command name possible: "neos.flow:core:*"
return void

registerRequestHandler() public method

All registered request handlers will be queried if they can handle a request when the bootstrap's run() method is called.
public registerRequestHandler ( Neos\Flow\Core\RequestHandlerInterface $requestHandler ) : void
$requestHandler Neos\Flow\Core\RequestHandlerInterface
return void

resolveRequestHandler() protected method

Iterates over the registered request handlers and determines which one fits best.
protected resolveRequestHandler ( ) : Neos\Flow\Core\RequestHandlerInterface
return Neos\Flow\Core\RequestHandlerInterface A request handler

run() public method

Bootstraps the minimal infrastructure, resolves a fitting request handler and then passes control over to that request handler.
public run ( ) : void
return void

setActiveRequestHandler() public method

This method makes only sense to use during functional tests. During a functional test run the active request handler chosen by the bootstrap will be a command line request handler specialized on running functional tests. A functional test case can then set the active request handler to one which simulates, for example, an HTTP request.
public setActiveRequestHandler ( Neos\Flow\Core\RequestHandlerInterface $requestHandler ) : void
$requestHandler Neos\Flow\Core\RequestHandlerInterface
return void

setEarlyInstance() public method

On finalizing the Object Manager initialization, all those instances will be transferred to the Object Manager's registry.
public setEarlyInstance ( string $objectName, object $instance ) : void
$objectName string Object name, as later used by the Object Manager
$instance object The instance to register
return void

setPreselectedRequestHandlerClassName() public method

Preselects a specific request handler. If such a request handler exists, it will be used if it can handle the request – regardless of the priority of this or other request handlers.
public setPreselectedRequestHandlerClassName ( string $className )
$className string

shutdown() public method

This method should be called by a request handler after a successful run. Control is returned to the request handler which can exit the application as it sees fit.
public shutdown ( string $runlevel ) : void
$runlevel string one of the RUNLEVEL_* constants
return void

Property Details

$activeRequestHandler protected_oe property

protected RequestHandlerInterface,Neos\Flow\Core $activeRequestHandler
return Neos\Flow\Core\RequestHandlerInterface

$compiletimeCommands protected_oe property

protected array $compiletimeCommands
return array

$context protected_oe property

protected ApplicationContext,Neos\Flow\Core $context
return ApplicationContext

$earlyInstances protected_oe property

protected array $earlyInstances
return array

$preselectedRequestHandlerClassName protected_oe property

protected string $preselectedRequestHandlerClassName
return string

$requestHandlers protected_oe property

protected array $requestHandlers
return array

$staticObjectManager public_oe static_oe property

The same instance like $objectManager, but static, for use in the proxy classes.
public static ObjectManagerInterface,Neos\Flow\ObjectManagement $staticObjectManager
return Neos\Flow\ObjectManagement\ObjectManagerInterface