PHP Annotated Monthly – February 2018
It’s February already! As the year rolls along relentlessly, here are all the links to all the blog posts you need to read curated by Gary Hockin, Developer Advocate for PhpStorm.
PHP, Testing & Development
What do you mean you haven’t upgraded to PHP 7 yet? The PHP Consulting Company are already looking forward to Putting PHP 8 on the Roadmap so there’s no excuse to be running PHP 5 anymore. This is the last time I’m going to try and guilt you into upgrading PHP (more on that later), so take the opportunity – you’ll thank me later.
- ReactPHP: Why?
- How to Upgrade from PHP 7.1 to 7.2 on MacOS Using Homebrew
- Reducing Call Sites with Dependency Injection and Context Passing
- Xdebug 2.6
- Run a Package from a Local Directory
- Testing Legacy PHP Scripts
- Makefile for Lazy Developers
- Does Factory Method Violate Open/Closed Principle
- Closures, Anonymous Classes and an Alternative Approach to Test Mocking (Part 4)
- PHP Software Development Workflow
- Handling Amazon SNS Messages with PHP, Lumen and CloudWatch
- Returning From Command Buses
- Creating ZIP Files and Streaming the Response with Silex (I know it says Silex but relative to anywhere ;))
- Where a Curly Bracket Belongs
- HHVM 3.24 (End of PHP 5 Support)
- Code Complexity
- PHP Assertions and Their Usage
- Don’t Write Useless Unit Tests
- How to Move a Dependency to Composer While Requiring an Old Version
- Simple CQRS – Reduce Coupling, Allow the Model(s) to Evolve
- Have You Tried Composer Scripts? You May Not Need Phing.
- PHP Sessions in Depth
Frameworks and Libraries
Another final reminder that Silex, the Symfony micro-framework goes end of life in only four months so now’s the time to make plans to upgrade or migrate. You can read more from Fabien Potencier in The End of Silex.
The other exciting news is that PSR-15 has passed an entrance vote. PSR-15 defines a standard for request handlers and middleware and paves the way for interoperable middlewares that can be dropped into any PSR-15 compliant application. The upshot of this is we can hopefully expect packages and libraries that can be dropped into any PSR-15 application to immediately give you functionality. This is particularly exciting for things like authentication and caching, so expect so cool stuff coming soon.
- Exception Handling in Laravel
- Building a Vue SPA with Laravel Part 2
- GroupBy Multiple Levels in Laravel
- Automatic Vendor Cleanup Command
- Rapid Web Deployment for Laravel With GitHub, Linode, and RunCloud.io
- How I Redesigned My Blog and Moved It from Jekyll to Laravel
- Simple Eloquent Model Translations
- How to Send a “trial Expiring Soon” Mail in Laravel Spark
- Laravel Model Caching
- The Mexican Standoff of PHP Frameworks
- Supercharge Your WordPress Development
- Managing ReactPHP Promises
- Optimizing Colinodell/json5 with Blackfire
Community, Career, and Events
I very much enjoyed Your Company is Screwing Itself by Not Supporting Open Source Software on Medium which makes a valid point about financially supporting OS software and authors. This is a difficult tightrope to walk, but voluntarily supporting your favourite OS project can only be a good thing.
Finally, the news that I am leaving JetBrains after over two years as Developer Advocate for PhpStorm. JetBrains has been a very enjoyable part of my career and I’d like to thank everyone in the team and wish them all the best for the future. I’m going to be working as an engineer at the BBC, a career move that I’m excited and privileged to make.
Thanks to everyone who’s enjoyed this post over the years, it’s been great fun.
– Gary & The PhpStorm Team
Subscribe to Blog updates
Thanks, we've got you!
PhpStorm 2023.3 RC
PhpStorm 2023.3 Release Candidate bundles the Pest plugin into PhpStorm, so you'll now be able to enjoy it out of the box.
PhpStorm 2023.3 Beta 2
In this build, we’ve added new inspections for PHP assertions and revised the integration with third-party quality tools.
PhpStorm Now Supports PHP 8.3
PhpStorm now provides full support for PHP 8.3 feature: the new `#[Override]` attribute and `json_validate()` function, and more!