Skip to main content

Drupal 8 with Symfony2

And here, I am set for Drupal 8. But wait ... Symfony2 ?? Now who's this ?? We shouldn't ignore

somebody who meets us on our way, right ? So, let's have a short introduction.

What is Symfony2 ?

symfony.com states that Symfony is a set of PHP Components, a Web Application framework, a

Philosophy, and a Community — all working together in harmony.

I am not a Symfony Developer yet what I understand about it is that Symfony is a PHP framework

build on top of reusable, decoupled and cohesive symfony components which serves a lot of web

applications. Symfony shares some of the concepts of the MVC pattern--such as layer separation

yet it's more of an HTTP framework--it’s a Request/Response framework focusing on returning a

response in an optimized and effective way.

Why Symfony2 in Drupal 8 ?

Pushing Drupal forward

As the momentum of GoPHP5 was not kept, there was a need in Drupal to start embracing the

changes happening in the wider development communities. For an instance, by converting core

code over to easily-lazy-loaded classes, Drupal can actually reduce memory by not bootstrapping

code we don't need. That makes response time faster, which is very critical for any web service.

Now it's about

Why reinvent the wheel ?

This integration pushes Drupalists to "get off the island" and replace the NIH (Not invented Here)

syndrome with PIE/PFE (Proudly Invented Elsewhere/Proudly Found Elsewhere), using well-
tested & maintained projects from outside the Drupal world. (Source)
So Drupal 8 uses some of Symfony's components which are vital to the system, such as the Http

Foundation component that understands HTTP and offers a nice request and response object

used by the other components.

Symfony uses a service container that can be used to efficiently manage services in the

application. This concept is also known as Dependency Injection. Service container is used later

in code to fetch services, lazy-loaded on the fly.

These were few highlights of Symfony with Drupal 8, still there remains a lot about the individual

symfony components which we will keep learning with time.

I'll be back soon with the routing mechanism in Drupal 8, explaining my understanding "from

request to response".

Till then let's keep learning and sharing :)

Comments

Popular posts from this blog

My First Drupal 8 Module.

Lots of reading and reading ... How about trying some coding ?? Huhh !!! Coding in drupal 8. Frightened ?? Me too :) But what I exactly feel here is that this is just the fear of the unknown. And everything we want is on the other side of fear. I replace my fear of the unknown with curiosity. Give it a shot, who knows if this works out for you too :) Let's start together with a simple stuff like "Printing a Drupal 8 welcome message" by creating a small module. Taking a deeep breath, let's dive in. As we must have seen or read that Drupal 8 follows a very strict directory structure, so let's start with looking for the directory structure followed by custom modules in Drupal 8. 1 . Directory structure : It is advised to keep our custom modules by creating a folder 'custom' under 'modules' folder in the root directory of our site. So, our custom module 'first_d8_module' will have directory structure something like this...

Know Your Customers !!!

A user landed on a web page and started filling a form. After going half way, he/she got distracted or suddenly felt not interested in the same and tried to leave the page by either closing the tab or by closing the browser itself. In either case, we (a company) lost a prospective client and as the user didn't submit the form we have no info of the user in order to contact them and get the details of them not being interested. Is this your story too ?? Congratulations my friend ... you found the solution for yourself. Please continue reading... To start with let's modularize our requirement. There's a web page containing a form, a user lands on it and started filling the form: 1 . As soon as the user tries to leave the page, ask them if they are ok with sharing their unsubmitted data with you and leave the page. 2 . If a user chooses to stay on the page, simply allow him to be there. 3 . If a user opts for leaving the page without submitting the for...

Request to Response in Drupal 8

Here ? So, I am assuming we have some idea of Symfony2 and it's components used in Drupal 8 by now. Great, let's move ahead. Every web interaction as we know starts with a request and ends with a response, same goes here with Drupal 8. We send a request and receive some response from Drupal but what goes internally ? Let's dive in and find out. Of all the important components of Symfony2 being used in Drupal 8, HTTPKernel and HTTPFoundation plays an important role in handling a page request but this time the proces uses an object oriented way. Ohh.. big names :) Let's know something more about these. HTTPKernel : This component consists of an HTTPKernelInterface which provides a method, handle(). This method accepts $request object as parameter and returns $response object. HTTPFoundation : This component is responsible for creating and managing the $request and $response objects. We can say that, it's an object oriented replacement of sup...