What is Magento 2?
The open-source version of Magento 2 (variously called Magento Community Edition or Magento Open Source) and the "on-premises" version (variously called Enterprise Edition or Magento Commerce) is written using the PHP programming language. It's an evolution of the Magento 1 codebase, which was also written using PHP, and incorporated components of Zend Framework -- a third party framework for developing web applications in PHP.
The original core Magento 1 developers built their own MVC framework. The various teams that have worked on Magento since evolved that framework slightly, but in Magento 2 the core concepts remained the same -- they just became more verbose.
Magento code is organized into modules. These modules share a set of global configuration objects -- each module can read/write to these global configuration objects by adding XML configuration files to its own
etc folder. These files are merged to create the global configuration. Magento provides core modules for doing web application-y things like MVC, HTML Layout rendering, monkey-patching PHP class files, etc. They also provide core modules that implement a web-based online retail store.
If developers want to change or build-on Magento 2's functionality, they'll need to create their own modules.
Pestle's magento:generate:... Commands
Pestle commands in the
magento:generate namespace allow users to automatically generate the myriad files needed for basic Magento module functionality. This includes things like the basic module structure, controllers and routing files, view files, observers, upgrade migrations, UI Components, etc. Pestle takes the grunt work out of remembering which files make up a module's structure,
In addition to the finely grained code generation commands, pestle also features a command to generate a "complete skeleton" module that contains everything a developer would need to persist information to the database and a backend UI for doing the same. To learn more read the Generate Full Module section of the docs.