Recap: It’s Tool Time – 4 Tools You Cannot Live Without
At the latest PDXWP dev meetup, we had four speakers discuss four powerful development tools as part of “It’s Tool Time: 4 Tools You Cannot Live Without”. We had roughly 45 people attend the meetup, which is our best attended dev meetup to date.
Xdebug – Taylor Dewey (@tddewey)
We started the evening with 10up’s Taylor Dewey discussing the insight into a project that one can gain from using Xdebug, a debugging and profiling utility for PHP. He started by demonstrating the differences between a PHP error report with and without Xdebug. He further illustrated the utility of Xdebug by showing the difference between a var_dump
of WP_Query
with and without Xdebug. Taylor concluded his talk by demonstrating “step debugging” with a live execution of Xdebug. He showed how one can set breakpoints, inspect variables, and step through code using PHPStorm’s Xdebug integration. While it is impossible to bundle Taylor’s enthusiasm and demonstration in a slide deck, he has generously provided his slides for us.
Relevant Links:
- Installing Xdebug
- MacGDBp (Xdebug client for OS X)
- PHPStorm Xdebug integration
- Netbeans Xdebug integration
WordPress Command Line Interface – Daniel Bachhuber (@danielbachhuber)
Daniel Bachhuber of Automattic, followed Taylor’s talk with a discussion and demonstration of the WordPress Command Line Interface (WP-CLI). WP-CLI is a powerful tool for manipulating WordPress from the command line. The tool allows you to execute arbitrary code, perform CRUD operations on content, manage themes and plugins, export data, scaffold projects, amongst many other things. Using his own WP-CLI powered slides as an example, Daniel demonstrated how to create custom extensions for WP-CLI. Daniel concluded his talk by demonstrating some of the functions discussed above. Daniel has also provided his slides and example custom WP-CLI extension.
Relevant Links
- Installing WP-CLI
- WP-CLI on Github
- Manage WordPress with Awesome using wp-cli (WordCamp Vegas 2012 presentation by Mike Schroder)
- Using wp-cli for Fun and Profit (slightly outdated introduction by the project’s lead contributor)
PHP Codesniffer – Weston Ruter (@westonruter)
For the third talk of the night, X-team’s Weston Ruter presented on PHP Codesniffer (phpcs). phpcs tokenizes PHP to validate it against a set of coding standards. Weston discussed how his team uses a custom set of WordPress “sniffs”, or individual code standard rules, to maintain a rigorous standard for their code. After a brief introduction to installing phpcs via PEAR, Weston demonstrated a number of sniffs that his team utilized, including validation of operator spacing, double quote usage, indentation, extra whitespace, array declaration, discouraged functions, and escaping output. Weston topped off his presentation by discussing how his team uses their set of sniffs as a git pre-commit hook to validate code before committing. Weston has shared his slides as a Google Presentation.
Relevant Links:
- Installing PHPCS with X-team’s WordPress Coding Standards Sniffs
- WordPress Coding Standards
- Demo code used in presentation
- Discussion of officially codifying a set of WordPress sniffs
Grunt – Nathaniel Taintor (@goldenapples)
Nathaniel Taintor of Janrain rounded out the evening with an introduction to Grunt. Like Weston, Nathaniel discussed how his team uses Grunt to meet their development goals. Concatenating Javascript files is a tough problem to solve. Nathaniel discussed his team’s search for a solution that still works with WordPress’ enqueues system, plays well with third part plugins, as well as for handles of preprocessor languages (e.g., coffee script), minification and concatenation. Nathaniel reported that Grunt, a “task runner” module for NodeJS solved his problems. He also briefly touched on three other solutions that he explored before settling on Grunt (WordPhing, Forge, Yeoman). Nathaniel’s slides are forthcoming.
Relevant Links: