Magento – Learning Magento Plugin Development

developmentextensionsmagento-1plugin

I have been a PHP developer for 13+ years, have extensive knowledge of PHP itself as long as some other popular projects like WordPress. I have no experience with Magento.

I now have a full time job working for a company that uses Magento, all my development work will be on Magento pretty much now.

My initial thoughts after looking at Magento for the first time are, wow what have I got myself into now? But then the experienced developer in me comes out and remembers, it's just PHP.

So I have some basic Magento questions I would really appreciate some answers to from more experienced Magento Developers…

  1. What is the best most useful places to learn about magento development beside this site?
  2. Extensions/plugins are very confusing so far to me. Other platforms like WordPress allow you to place a plugin into it's own folder and all it's files will live under that folder. From what I have seen so far, a plugin might be scattered accross several folders in Magento, is this correct?
  3. I have learned about how to over-ride Core functionality.
    So if a file in the core is located here /app/code/core/Mage/SitemapModel/Resource/Catalog then I can over-ride it by creating the file in this location /app/code/local/Mage/SitemapModel/Resource/Catalog so how does this work with an Extension/plugin? If I create a plugin that need to over-ride core functionality, then I must have my files all over the place for that extension to work?
  4. Any other info you wish you knew starting out with magento?

Thanks for any insight, I know this is a multi part question but I feel any of the answers would be helpful to myself and other starting out, I will make this public wiki if I must as well.

Best Answer

I'm going to focus on the first part of your question - "how do I learn / where do I get started?"

As a former Zend Framework developer, the biggest help to me in developing Magento has been the explosion in online learning that Magento U has brought in the past 2 years. Aside from the formal learning - I learn mostly by doing, and I have been "doing" Magento for over 5 years now.

Some concrete learning resources:

Aside from learning tools, for me the largest learning tool has been by examining 3rd party Magento modules. I read the code throughly and learn from it. You can do the same by learning from the Core modules.

Some sites that will be helpful to you on your learning journey:

http://magento-quickies.tumblr.com/

http://alanstorm.com/

http://colin.mollenhour.com/

http://magentotherightway.com/

Some epic developers to follow:

Alistair Stead: https://github.com/alistairstead

Fabrizio Branca: https://github.com/fbrnc/

Vinai Kopp: https://github.com/Vinai

Get involved socially - meet some of the 'rockstar' developers and start to follow them on Twitter. Reach out to specific people when you need help; this community is amazingly approachable. Use the community to your advantage.

Some Twitter lists:

https://twitter.com/inchoo/magento

https://twitter.com/kkoepke/magento

https://twitter.com/eHubSystem/magento-imagine-2013

https://twitter.com/GingerWarriorX/magento-peeps

Finally - make the trek next year to Magento Imagine next year and press the flesh. Track us down, ask us questions. Get out to your local meetups. If a meetup doesn't exist in your area - start one. Be persistent. Don't let your lack of knowledge keep you from networking and meeting people. Your relationships in the community will pay off in dividends.

Related Topic