For every drupal developer is it necessary to know the under the hood process of how drupal internally works and some of them may already know page rendering process of drupal 7.
PART 1:
Step 1: The user make a request in the browser in the form of url for example: www.example.com
Step 2: The browser will pass the request to the Web server where the website resides(Here Drupal makes website...)
Step 3: In drupal , every request is handled via index.php file ,while digging into index file we may see the following lines as shown in the image.
Note: Symfony is a playing a major role in drupal 8 and drupal 8 follows the object oriented style of programming..
Components used from symfony in drupal 8.
So as you see , there is a two use statements
1.use Drupal\Core\DrupalKernel
2.use Symfony\Component\Httpfoundation\Request.
Drupal and Symfony communicate between themselves to determine how an incoming HTTP request should be dealt with, to generate the response, and to deliver the response back to the browser.
Class DrupalKernel:
This class is responsible for building the Dependency Injection Container and also deals with the registration of service providers. It allows registered service providers to add their services to the container.
DrupalKernel retrieves the Symfony HttpKernel and calls HttpKernel::handle($request).The HttpKernel::handle() method works internally by dispatching events.
Interacting to httpkernel is done via getHttpKernel method which in turn retrieves
the http_kernel service from the container.
To further information about httpkernel use this link HttpKernel
Class Request :
Request represents an HTTP request.
The methods dealing with URL accept / return a raw path (% encoded): * getBasePath * getBaseUrl * getPathInfo * getRequestUri * getUri * getUriForPath
$request = Request::createFromGlobals();
- $_GET
- $_POST
- $_SESSION
- $_REQUEST...etc
Creates a new request with values from PHP's super globals.
/ actually execute the kernel, which turns the request into a response // by dispatching events, calling a controller, and returning the response $response = $kernel->handle($request);
Internally, the HttpKernel::handle() method first calls getController() on the controller resolver. This method is passed the Request and is responsible for somehow determining and returning a PHP callable (the controller) based on the request's information.
We will discuss the about response object further into part 2.
Comments