I often get emails from beginner Drupal developers asking "Where to learn PHP for Drupal or Drupal PHP?". Actually, "Drupal PHP" is an interesting term, that in the language of beginners means "how to learn writing custom modules and do customizations and understand Drupal internals" that equals to learning and understanding Drupal API.
There are two flavours of Drupal developers: those who can install modules and click trough UI interface. Well, we call them site builders, not developers, but often these two meanings get mixed into one. And there is a second type of developers, that I call true Developers. These guys don't afraid of doing customizations, can override any theme/form, write hooks and if there is no usefull module or module can't do what you want, they can quickly jump in and write their own stuff.
If you want to be that second kind of Drupal developer, here is list of five resources that are indispensable to you:
- Pro Drupal 7 Development book. IMHO, that is the only Drupal book you need to read to understand how things work inside: http://www.drupalbook.com/
- Videos from BuildAmodule.com (http://buildamodule.com). Especially I do recommend Drupal 7 Development Core Concepts and Drupal 7 Theming Essentials. The narrator has a great style and explains everything very well.
- There's a great Examples module that has common dev tasks solved in code: http://drupal.org/project/examples. Study its examples and you'll understand a lot.
- Drupal API at http://api.drupal.org. This should be your Bible. The main documentation hub for all Drupal Core functions.
- Drupal snippets repository at http://dropbucket.org - place where you can store Drupal snippets and find snippets submitted by others. Has lots of useful stuff to discover.
So this is a bullet proof list of resources that I strongly recommend to study if you want to become true Drupal Developer.