A proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, allowing you to perform something either before or after the request gets through to the original object.
PHP has recently launched its new version i.e. PHP 8 and it consists of many new features, constructor property promotion is one of the new features introduced in PHP 8. In previous versions of PHP(~7.*), we used to define our variables as class property and assign its value in the constructor
Controllers are the most important thing in MVC pattern, controller helps to receive request, process and render pages. To create a frontend controller and to process the request we need to extend our controller class with Magento\Framework\App\Action\Action class this class context gives some added features to handle request type and to validate authorized users and so on. But in this process Magento needs to include so many classes which ultimately increase execution time.
In our development lifecycle, we face the situation where we need to create a custom URL for our module or we need to modify the route to match the requirement, in this situation we need to create a custom router in Magento 2
Grunt is basically a task runner tool that helps to automate any compilation process. Grunt supports tasks like saas, jade, less, and many more.