WP-CLI and PHPUnit are excellent tools to use when developing and testing WordPress plugins. Composer is a great tool as well. It seems most people use Composer on a per-project basis – installing the packages they need just for the project they are working on. You can also install “global” packages, like these system tools, that you can use across multiple projects.
I code on a MacBook where there are many ways to set up your local WordPress development environment. I’ve used really simple solutions like MAMP as well as really robust and setups like Vagrant with VVV. I have recently enjoyed the simplicity of this new setup using Homebrew to install a LAMP stack that, once setup, you never have to touch again to create new development sites. The key is dynamic virtual hosts!
Codeception can be used to write automated tests for PHP apps like you’d write with PHPUnit. In fact, Codeception uses PHPUnit under the hood to run unit tests. Codeception also has support for functional and acceptance tests. Here is a tip that took me over an hour of reading the Codeception source code to figure out. Hopefully this will save you some time if you want to use StepObjects in your Cest files.
You may have read that using the short echo tag ( <?= ) should be avoided, especially for WordPress development. The convenience is really nice though, so here’s a quick summary of when you can safely use it in your code.
If you are developing a WordPress plugin, it good idea to write some automated tests for it. Pound is a light weight WordPress plugin that will run tests you write for your own plugin. It’s not a framework or library and introduces no dependencies for your plugin. It just runs tests that your write for your own plugin without all the overhead of PHPUnit.
Last week we talked about application shelf life an aspect of PHP development that often goes overlooked. This week let’s talk about how the web development framework you use contributes to the shelf life of your app and the profitability of your web application.
Photo provided by Jonas Bengtsson
I plan to write a series of posts about how we develop, deploy, and support our affiliate software and digital downloads applications. And why, after 5 years of Ruby on Rails development we switched back to PHP. One of the reasons is what I refer to as the shelf life of a web application. Let’s talk about what happens to a web application if you just let it sit.
Every time someone shows me something they like about some other editor it is always fun to show how the same thing can be done in vim. A popular thing in modern editors now seems to be multiple cursors and folks get excited about appending some text to a bunch of lines all at the same time.
Sublime Text 2 is a really nice text editor with a lot of power behind it. It also has a “Vintage” mode for folks who fancy vim, such as myself. I also happen to enjoy exploring new software, especially text editors, and Sublime Text 2 is my current favorite text editor. The only majorly annoying thing about Sublime Text 2 is the way it handles word wrapping. Periods (.) can sometimes wrap to the next line making it look like you have a mistake in your writing. This is only a problem when writing paragraphs, like in Markdown for blog posts.
Back in 2007 I wrote an article titled PHP vs Ruby – Practical Language Differences which drew a fair amount of attention. Now that I’ve been working with Ruby in much more depth and both PHP and Ruby have matured dramatically over the past five years it is time to reevaluate the comparison.