Sometimes people email me with questions. I started to think that some of these answers could be valuable to a broader audience. So I'm going to answer some of these questions on my site with permission of the authors. Have a question? Write to email@example.com.
Hi, I want to become a Drupal developer. My question is: is learning PHP frameworks, like Zend Framework, Symfony etc., necessary for working with Drupal? Should I gain some experience in PHP without any frameworks and directly proceed to Drupal or gain experience with a framework and only then start with Drupal?
Learn PHP Basics At Least
Generally, it’s a good idea to learn PHP basics before diving into serious Drupal development. This is true for any PHP application. But I would say, experience isn’t strictly necessary. PHP Experience is necessary for writing Drupal modules. And being able to make modules means you can make Drupal do the stuff you want it to do. Other aspects of Drupal, like Themes require little in terms of PHP code.
Jump In And Do Stuff
When I started doing web development, back in the days with CakePHP, I haven’t done any object oriented programming in PHP before. But by jumping into it and doing stuff, and then later working with Zend Framework, I learned so much about OOP and common design patterns. It was absolutely worth every minute I invested.
So I dived right into it, built some things, and learned what I needed when I needed it, on a real project.
I for myself would download Drupal, build a site (e.g. for a nonprofit or small business in your area), and look where it takes you. When you think you need a module, then build one and learn the things that are required. Look for ways to challenge yourself and your skills.
The thing with frameworks and Drupal is this: frameworks like Symfony or Zend Framework are designed for building large applications.
Drupal is a large application.
When building large applications, you tend to make similar architectural decisions like when you are building a framework. Therefore experience with a framework gains you an deeper understanding about how an app like Drupal works internally and how it’s designed. This is especially helpful when things don’t work like they should.
The conclusion is, you don’t need framework experience, but you gain a better understanding how an app like Drupal is made and how it works.
Submit your own question
Do you have a question about PHP or Web Development? Need some mentoring? (Questions will only be published with your consent)