Using an IDE for Joomla development
We have never really taken to using an Integrated Development Environment tool (IDE) for product development. This is nothing against IDE’s per se, just that over the years we have used a lot of tools, some good, some bad, and have found that just when one starts getting productive with them, they suddenly stop being supported. We could name (but won’t) numerous tools that fall into that category. A lot end up being taken over by a certain well known ‘computer software vendor’ who then milks them for the support fees, but never develops them, before finally dropping them. This then leave one ‘high and dry’ and forced to change to another tools.
For that reason we have always tended to use some ‘basic’ tools, editors etc. and develop our own tools as and when we need them. Indeed that is the origin of some of our Joomla components. This is of course one of the benefits of ‘Public Domain software’ because one has the ‘source code’ to enable one to inspect, modify and where appropriate submit improvements to the ‘developers’ for others to use and perhaps benefit from. Unfortunately there are many that omit the last stage.
We were recently recommended an IDE which, although we were aware of, had never actually looked at or evaluated. We have now taken a look and must admit we are quite impressed. PHPStorm seems to offer a lot of features that can assist in tracking down those elusive ‘opportunities for improvements’ i.e bugs, that are often found in bespoke software.
At the start it can seem quite daunting with so many options that it is easy to think that it is another IDE full of things that one is never going to use, and that things one really needs are not there. However with some perseverance it seems to be a very good tool. The editor is efficient, and quite smart and the IDE has a lot of useful and helpful tools, and it is possible to integrate almost anything with plugins and other means.
Our specific interest is with the Joomla environment and unfortunately there are not a lot of details about how one can easily integrate it into a Joomla environment. We found a couple of good links on the web, of which this was one of the better ones, but to a large extent found ourselves ‘having to work it out’.
We are still ‘playing’ with it, so do not consider ourselves experts by any means, but setting up a basic ‘project is relatively easy.
1. Set up a project with the required directory structure.
2. The easiest way to set up the Joomla environment is ‘pull’ the Joomla source from Github, so a Github account is required. Open the settings menu by using the icon on the PhpStorm toolbar, and navigate to Version Control and select Github.com, enter here your username and password and click on Test to see if the connection is working. If it is, then apply the changes.
Now import Joomla-cms and Joomla-platform located in Github, by going into VCS → Checkout then do version control → Github, and copy the URL of the repository here.
In your project, select External libraries then with a right-click choose Configure PHP Include paths, and import the two directories of Joomla-cms and Joomla-platform.
If one wants to use the debugger one should set up the project as an exact copy of the ‘live’ site, although this is something we are still investigating.
Some of the features such as the ‘spell’ checker has a somewhat ‘limited’ usability especially if one uses variables which are not ‘proper’ words but this can be safely ignored. Integration with Git seems quite good, although we tend to use Subversion ourselves, and it doesn’t support subversion 1.8 repository syntax’ yet, which is inconvenient but hardly a show stopper.
Will this become another one of those ‘IDEs’ that ‘withers on the vine’, we do not know, but with extensive documentation, and JetBrains (the product developers) having an Open Source program, where they will provide a ‘free’ license to core contributors of ‘Open Source Projects’ the omens are good. They have recently released version 7 of the IDE, so if you are interested give it a spin, there is a 30 day evaluation period so even if you are managing a project that is not ‘Open Source’ you have nothing to lose. You never know, you might even get converted. Are we converted? Well not yet, but the more we use it, the better it gets, so perhaps the answer is possibly!