PHP Annotated Monthly collects all the interesting articles from the month in one convenient place. Collected and curated by Gary Hockin, Developer Advocate for PhpStorm.
PHP, Testing & Development
The big news this month is that PHP 7.2 had its final release candidate published meaning that we’re expecting a production-ready release before the end of the year. There was also some reminders on Twitter that PHP 5.6 is in security fixes only (and that only has another year to run) so why not jump straight from 5.6 to 7.2 at the end of the year?
I always find it interesting to see other people’s views when writing code and this month I’ve read two article that I don’t entirely agree with; Writing Clean Code (Part 2) and Your Unit Test Methods Need Docblocks Too. These are both excellent articles which make good points, but I just don’t agree with all of those points. Disagreement is the cornerstone of discussion, and I respect both Jason and Stefan’s opinions here, our difference in experiences and the kind of work we do means that our views can both be valid (just remember, mine is usually more valid than anyone else’s).
- The Magic Behind Async PHP
- Uploading Files to Amazon S3 from the Browser – Part One
- GDPR - a Brief Reality Check
- Modular Application Architecture – Intro
- Your First PHP Code
- What Implements an Interface
- PHP 7.2’s “switch” Optimisations
- Indexes, Slow Queries, Configuration
- Continuous Performance Monitoring for PHP – The Tale of Blackfire at Trivago
- Short and Safe Array Iteration
- Introduction to Objects and References in PHP Memory
- Creating Datetimes from a Format with a Timezone
- Properly Passing Data from Outer Layers of a PHP Application to the Use Case Layer
- Using “pm Static” for Max Performance
- What You Need to Know About Environment Variables with PHP
Frameworks and Libraries
Logging is interesting to me (yes, I know I’m a fascinating person, you should try speaking to me at parties); so much so that I tried to make a side project based around it. My whole idea was to make logging to a centralised searchable place easier by writing a central server plus a Monolog handler to use with it. Of course, this is a ton easier if you just use existing tools — read How to Connect ELK with Monolog and be done with it!
- Backup Multiple Sites and Frameworks with ‘Laravel Backup’
- Integrate CloudwaysCDN With Laravel Applications
- Command Line Search Tools for Programmers
- Debugging the Dreaded “Class Log Does Not Exist” Error in Laravel
- Announcing Laracon Online 2018
- Package Management in Laravel
- Build a React App With Laravel Front End Part 2
- Customising Whoops in Expressive
- OuputBuffer Middleware for Expressive
- Displaying Errors in Expressive with Twig
- Symfony’s Autowiring
- How Do I Deploy My Symfony API – Part 5 – Conclusion
- TDD On A Silex Controller
- Symfony Flex Adoption Picks Up Prior to Release of 4.0 in November 2017
- The Symfony Community Awards Are Back!
- Running Symfony Without a Web Server on Docker Using PHP-PM
- Paving the Path to a Faster, Better Symfony
- PHP 7.1 Vs 7.2 Benchmarks (with Docker and Symfony Flex)
- SQL Query Optimization for Faster Sites
- How to Develop a WordPress Plugin Using Webpack 3, React and the REST API (pa
- Emitting Events
- How to Deploy With Deployer
- Errors And Connection Handling
- Making Requests And Handling Responses
- How to Auto-Update Posts with Pull Requests
- The Best Way to Convert Html to PDFs and Images
Community, Career, and Events
PHP Architect released it’s November magazine Modern Magento which is an enjoyable read for anyone with a horse in the e-commerce race. I was also fascinated by the 2017 Laravel Survey Results which you can find on the Laravel News site.
In November I’ll be at php[world] conference in Washington DC, so if you’d like to talk about anything PhpStorm, PHP or computer games come and find me! I’ll also be at ConFoo Vancouver in early December so please come and say “Hi!”.
As usual, if you’d like me to take a look at anything you’d like to see me include in next month’s Annotated Monthly then drop me a Tweet.
— Gary & The PhpStorm Team