Developing Chamilo with PhpStorm
Over the years, however, we became more open to other options, growing in our understanding that Free Software is a point of view and you cannot just ignore other people for not sharing your views. Our goal is to promote our software for the benefit of education, but we cannot do that if we reject the possibility of connecting Chamilo to other software, being non-Free Software, like Google accounts, Azure accounts, etc. Many times, introducing Free Software in an open manner has the effect of opening other people’s mind to the concept, and increase their adoption by the example rather than by force.
We already had this position a few years back (2014), when we discovered JetBrain’s PhpStorm, which at this point was a benefit to us. Until then, we had bean using NetBeans or Eclipse which were great tools, but over the years it became clear they were made above all by Java developers, for Java developers, and the efforts by their PHP communities to adapt those to PHP were just not supported enough. These got to a peak of greatness around 2012, and then started to lag behind new PHP features and environmental evolutions like the appearance of Github, Travis-CI and many other platforms offering services around PHP code.
This is when one of our occasional developers insistingly recommended us to try PhpStorm, and we have been in love since then… The non-Free Software (like in Free Speech, not like in Free Beer) aspect of PhpStorm is frankly compensated by the long hours of work we have been able to dedicate more efficiently on developing our own Free Software: Chamilo
Three elements convinced us to use it at first:
- a clear focus on PHP development, with a real understanding of the needs of PHP developers: the number of features specifically directed towards PHP development is simply impossible to mention in a simple article
- a much greater speed to load, manage and develop large PHP projects: Chamilo has more than 2M lines of code now, so loading Chamilo is a relatively heavy task
- a free trial of a reasonable time period, and then an Open Source license allowing our main developers to use it freely in recognition for their efforts towards the development of freely available quality software
Since then, our 4-strong developers team at the Chamilo Association has been able to better focus on developing, and less in setting up their system. Although we work in a pure Open Source environment (Linux, Firefox, LibreOffice, Gimp, Inkscape, and the likes), PhpStorm has been easy to install and update over the years. Every new version (about 4 per year) brings new features that match the evolution of the PHP global progress: Docker integration, Composer support, Github’s Git and issues integration, Unit testing, Travis CI rules, auto-detection of deleted methods, support for complex namespaces, for several DBMS, early support for PHP 5.6, PHP 7, 7.1 and 7.2.
The PhpStorm team has been incredible at looking forward and offer PHP developers all the features they need in advance. For that, we are extremely grateful and will continue using PhpStorm fur the foreseeable future.