In the context of the Joomlashack conference, I presented the topic of Composer usage on Joomla and in general for any Content Management Systems.
Composer is the leading application-level package manager for PHP. It has been designed for situations where the development team has full control of the environment. In multi-user systems, where independent developers create packages, the Composer usage is not recommended due to the possible conflicts. In this session, we reviewed several techniques to use Composer on Joomla and an innovative new development tool to simplify PHP prefixed code implementation at the application level.
In this short presentation, I've introduced the rationale behind the usage of Composer for Joomla extension development.
Composer changes the design of software. When using Composer, the main roadblock is analyzing the requirements based on the available libraries and, then, architecture your package. Even with such a challenge, the potential benefits of Composer far outweigh the initial difficulties (time spent on the initial learning process, integrating and installing dependencies).
I presented two cases, one which uses Composer in a standalone model and the second of distributing a prefixed extension.
In my view, Composer is a game-changer for the development of an extension, and I think that the evolution of PHP is currently linked to Composer. The benefit is enormous. You can use the latest innovations of the PHP ecosystems and, at the same time, focus on your business.
In the end, I introduced PHP-Prefixer, a new and one-of-a-kind service that extends the potential use cases of Composer. The service seamlessly overcomes the conflicts which Composer cannot resolve. PHP-Prefixer helps produce, automate, and maintain your versions of the installed libraries – opening new windows of opportunities and improving the time to market of your biggest idea!
UPDATE: You can revisit the presentation in the following links:
- Slides: https://blog.php-prefixer.com/using-composer-in-a-content-management-system/#/
- Video: https://www.youtube.com/watch?v=BzI4f5PMMn4&t=3s