Je n'arrive pas à trouver où l'implémentation de run()
qui est utilisée sur Lumen est définie. Celle que l'on peut voir dans le fichier d'amorçage :
$app->run();
Où cette méthode est-elle définie ?
Je n'arrive pas à trouver où l'implémentation de run()
qui est utilisée sur Lumen est définie. Celle que l'on peut voir dans le fichier d'amorçage :
$app->run();
Où cette méthode est-elle définie ?
Il est défini sur Laravel\Lumen\Concerns\RoutesRequests
.
Si vous jetez un coup d'œil à bootstrap/app.php
vous verrez ceci :
$app = new Laravel\Lumen\Application(
dirname(__DIR__)
);
Donc nous savons que $app
est une instance de Laravel\Lumen\Application
.
La méthode run()
n'est pas défini sur cette classe, mais si vous regardez de près, vous verrez ceci :
class Application extends Container
{
use Concerns\RoutesRequests,
Concerns\RegistersExceptionHandlers;
Ces Les traits définissent un comportement supplémentaire pour la classe . Plus précisément, le Laravel\Lumen\Concerns\RoutesRequests
vous trouverez :
/**
* Run the application and send the response.
*
* @param SymfonyRequest|null $request
* @return void
*/
public function run($request = null)
{
$response = $this->dispatch($request);
if ($response instanceof SymfonyResponse) {
$response->send();
} else {
echo (string) $response;
}
if (count($this->middleware) > 0) {
$this->callTerminableMiddleware($response);
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.