6

I am new at writing difficult front-end modules like one page checkout or... . Associated with this i have a question.

When I want to investigate(find out) how magento 2 module located in vendor/magento/... or functionality from these modules works, what should I do? Example(just example): how Magento manages shipping methods - what files uses for display (only for that functionality), how validates those fields, sends or gets data...

Question: How can i get solid understanding of all aspects in specific magento 2 functionality or module? (I know developers use xdebug and PHPStorm but i am more interested about the process)

I know that this is a subjective thing, and there isn't going to be one way to do it, but i am having difficulties doing it and thought maybe there is some simple way do to it. Also I am not interested about the tools.

  • Did my answer help? If so, would you consider accepting it? – tjons Dec 7 '16 at 2:29
3

This is a great question. I'll detail what I'm doing/have done in situations like this. For what it's worth, this basically the method I used to get my Magento Certified Developer and Magento Certified Frontend Developer in less than a year after starting working with Magento. Those were on Magento 1, but the principles of learning are the same. I'm also using this framework to learn M2.

  1. Make sure that you are familiar with the basics of the system. For Magento 2, that would entail having written a simple module, being familiar with the MVVM pattern, request flow, plugins, events, etc. I recommend using Alan Storm's tutorials on the topic.

  2. Decide what module you want to focus on (e.g., shipping or sales, etc.). Look through its source code and skim over it, looking for any helpful comments that tell you what it's doing.

  3. Follow through the module's request flow. I use Xdebug and PhpStorm for this, but really, you could do this manually. Become familiar with the different user-triggered behaviors it performs (e.g., creating an order).

  4. Take notes on what you learned that you can look back at later.

  5. Build something using your newfound knowledge. If you've been studying the Magento 2 quote system, add a new total model to the quote. If you've been learning about shipping, write a shipping method (it can be really simple, like just a flat rate method). Had you been studying the payment module, I'd suggest trying your hand at writing a payment method. A really simple one that I did was a check/cash in-store payment method.

Good luck! The biggest thing that I've found helpful is committing to a period of study time ever day. Please let me know if you have any questions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.