This is something that I think is pretty slick in Symfony. With 3.3, Symfony introduced the idea of autowired services. Basically, you just put a type hint for what you need and the container injects the correct service as if by magic. You can take advantage of this in some more unusual places that aren’t immediately apparent after reading the documentation.
When you have an application, there’s inevitably some things that just need to be done periodically. These aren’t tied directly to user actions, so the quick answer is usually cron. It’s easy to setup, but when it breaks it can cause subtle issues that may impact your customers or application.
One of the new tools I’ve discovered is Chef to manage the configuration and software on Storehouse’s fleet of virtual machines. Chef makes it really handy to update and track config changes, since everything can be tracked using Git or similar. One issue we ran into was having `chef-client` run at the same time for multiple machines.
Google’s Page Speed measure is a tool to give developers feedback as to how their web page is performing. It rates the pages on a scale of 0 to 100, with 100 being “perfect.” In my opinion this system is very flawed and it creates an ambiguous number that encourages developers and clients to waste time and money chasing after unobtainable goals.
About a month ago, I shared a method for testing doctrine entities. This came about after my push to get 100% code coverage on The Storehouse. I’ve already found a new and better way of doing this that gives you a bit more flexibility.