Class Server
Runs an application invoking all the PSR7 middleware and the registered application.
Property Summary
-
$_eventClass protected
string
Default class name for new event objects.
-
$_eventManager protected
Cake\Event\EventManagerInterfaceCake\Event\EventManager
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
-
$app protected
Cake\Core\HttpApplicationInterface
-
$runner protected
Cake\Http\Runner
Method Summary
-
__construct() public
Constructor
-
bootstrap() protected
Application bootstrap wrapper.
-
dispatchEvent() public
Wrapper for creating and dispatching events.
-
emit() public
Emit the response using the PHP SAPI.
-
eventManager() public deprecated
Get/set the application's event manager.
-
getApp() public
Get the current application.
-
getEventManager() public
Get the application's event manager or the global one.
-
run() public
Run the request/response through the Application and its middleware.
-
setEventManager() public
Get/set the application's event manager.
-
setRunner() public
Set the runner
Method Detail
__construct() ¶ public
__construct(Cake\Core\HttpApplicationInterface $app)
Constructor
Parameters
-
Cake\Core\HttpApplicationInterface
$app The application to use.
bootstrap() ¶ protected
bootstrap(): void
Application bootstrap wrapper.
Calls bootstrap()
and events()
if application implements EventApplicationInterface
.
After the application is bootstrapped and events are attached, plugins are bootstrapped
and have their events attached.
Returns
void
dispatchEvent() ¶ public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\Event
Wrapper for creating and dispatching events.
Returns a dispatched event.
Parameters
-
string
$name Name of the event.
-
array|null
$data optional Any value you wish to be transported with this event to it can be read by listeners.
-
object|null
$subject optional The object that this event applies to ($this by default).
Returns
Cake\Event\Event
emit() ¶ public
emit(Psr\Http\Message\ResponseInterface $response, Zend\Diactoros\Response\EmitterInterface|null $emitter = null): void
Emit the response using the PHP SAPI.
Parameters
-
Psr\Http\Message\ResponseInterface
$response The response to emit
-
Zend\Diactoros\Response\EmitterInterface|null
$emitter optional The emitter to use. When null, a SAPI Stream Emitter will be used.
Returns
void
eventManager() ¶ public
eventManager(Cake\Event\EventManager|null $events = null): Cake\Event\EventManager|$this
Get/set the application's event manager.
If the application does not support events and this method is used as a setter, an exception will be raised.
Parameters
-
Cake\Event\EventManager|null
$events optional The event manager to set.
Returns
Cake\Event\EventManager|$this
getApp() ¶ public
getApp(): Cake\Core\HttpApplicationInterface
Get the current application.
Returns
Cake\Core\HttpApplicationInterface
getEventManager() ¶ public
getEventManager(): Cake\Event\EventManager
Get the application's event manager or the global one.
You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.
Returns
Cake\Event\EventManager
run() ¶ public
run(Psr\Http\Message\ServerRequestInterface|null $request = null, Psr\Http\Message\ResponseInterface|null $response = null): Psr\Http\Message\ResponseInterface
Run the request/response through the Application and its middleware.
This will invoke the following methods:
- App->bootstrap() - Perform any bootstrapping logic for your application here.
- App->middleware() - Attach any application middleware here.
- Trigger the 'Server.buildMiddleware' event. You can use this to modify the from event listeners.
- Run the middleware queue including the application.
Parameters
-
Psr\Http\Message\ServerRequestInterface|null
$request optional The request to use or null.
-
Psr\Http\Message\ResponseInterface|null
$response optional The response to use or null.
Returns
Psr\Http\Message\ResponseInterface
Throws
RuntimeException
When the application does not make a response.
setEventManager() ¶ public
setEventManager(Cake\Event\EventManager $events): $this
Get/set the application's event manager.
If the application does not support events and this method is used as a setter, an exception will be raised.
Parameters
-
Cake\Event\EventManager
$events The event manager to set.
Returns
$this
setRunner() ¶ public
setRunner(Cake\Http\Runner $runner): $this
Set the runner
Parameters
-
Cake\Http\Runner
$runner The runner to use.
Returns
$this
Property Detail
$_eventManager ¶ protected
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
Type
Cake\Event\EventManagerInterfaceCake\Event\EventManager