Again and again the question comes in: What do you use as an environment to develop with WordPress. Some suggestions I would like to give, these are just my preferences, but I would be happy if you tell me your preferences of tools. Maybe there is one or the other useful tool included, I never heard of.
Currently I am working on Windows and Linux, so that should be a priority, that I can use my tools on both platforms. This is important to me because I consider a heterogeneous environment for conducive.
In my everyday environment of web development, I work primarily in the browser and the editor, therefore, these two tools for me are also the center of my work.
My favorite browser is Firefox, especially because of the great Add-ons. Therefore I have to mention the awesome Add-on FireBug , I cannot imagine to work without it. For this Add-on there are even more Add-ons, which I also use and recommend, especially YSlow, FirePHP and Page Speed.
Another important tool is the editor, and my favorite is UltraEdit. An editor, which is not Open Source, but I love to use since several years. Here I guess mainly the speed of the editor and the wonderful extensibility with your own tools is the part I really like. That’s why I parse PHP and validate HTML and CSS directly in the editor. For the parsing of CSS I also use CSSTidy, also available online. I parse PHP via web server that is integrated in the editor and also integrated via PHPLint, also in the additional tools of the editor.
Under Linux I can not quite decide whether I should use Geany or Aptana, where Aptana is already too slow and I really miss one or the other feature in Geany. UE is currently still in the testing and beta phase and we’ll see, maybe I can not yet get away off this editor.
Webserver & Tools
There are two other important tools to use in the context of web development. I work on the local environment under Windows with XAMPP and in Linux is the local web environment installed via package manager. So I have on each client an environment to work with PHP and mySQL.
Important in the development with PHP is error and warning output and debugging. In PHP, there are several different approaches and I use the module xdebug.
Furthermore, I write in the context the ErrorLog and evaluate them. The last tool I would like to point out is Webgrind, which is used as a web application. Alternatively, there are desktop tools that perform this work, for example WinCacheGrind under Windows. This evaluates perfectly the profiling and optimizes your code.
To get the development on the server, it usually requires a tool, which dominates the FTP protocol and provides a possible interface for managing the accounts. Here I use under Windows Total Commander, which can be perfectly adapted to your needs and I love it that I can open multiple connections in several tabs. On Linux I use the Add-on for Firefox FireFTP. There are several more tools, but I’ve never found the time to look at various other options. Also the Aptana IDE has this in support, works fine.
As I develop primarily in and for WordPress, I have a few small Plugins in the test environment active, which ease my view on certain data, and which specifically save errors or issues in WordPress. A small list with short explanation of Plugins, even if I don’t use all of them, but there might be one or two in this list you like.
- WP Developer Assistant – because it has some reports and feature, which are very handy
- CodeStyling Localization – because you can create a Plugin multilingual, it’s easy to create new language files
- Log Deprecated Calls – not always in use, but can be useful
- Error Reporting
- Debug Queries – Analysis of queries
- Debug Objects – Evaluates many values
- Adminer – for the fast access to your webspace or as Plugin directly in your WordPress
- FirePHP – as Plugin for WordPress to access specific content without crawling through your source code
- WordPress Hook Sniffer – interest idea; bad is the replacing of the core-file plugin.php
That should be enough, even there are many more for sure. The decisive factor, in my view are not the Plugins, but the environment with xDebug and the settings that WordPress offers as standard in this context. Therefore, I can only recommend to have the following lines in the
wp-config.php of the environment.
/** Debugging WP */ define('WP_DEBUG', true); //enable the reporting of notices during development - E_ALL define('WP_DEBUG_DISPLAY', true); //use the globally configured setting for display_errors and not force errors to be displayed define('WP_DEBUG_LOG', true); //error logging to wp-content/debug.log define('SCRIPT_DEBUG', true); //loads the development (non-minified) versions of all scripts and CSS and disables compression and concatenation, define('E_DEPRECATED', false); //E_ALL & ~E_DEPRECATED & ~E_STRICT define('AUTOSAVE_INTERVAL', '300'); // Autosave interval define('SAVEQUERIES', true); // Analyse queries define('WP_POST_REVISIONS', false);
These definitions make the work easily with WordPress and there are many indications of WP to have a clean code and current functions. I change the autosave interval only to small values, if I work in this segment, so if I need the script as soon as possible.
On the web there are a variety of tools that are useful – I’d like to briefly introduce some them I use often and also to say my thanks to the people who make these services available.
- php.net – because you never get information fast enough, therefore I have in the Firefox Add-on an additional extension for the internal search field, which searches directly in the functions of php.net (You can use it if you like to)
- wpseek.com – the search for WordPress, also a search extension for Firefox is available
- PHP Cross Reference of WordPress Source – sometimes I’m faster with it than via editor
A small overview of my latest tools and perhaps you find one of them useful or you have suggestions as well for me.