Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

May 21, 2020

Welcome to the latest edition of

Several releases from the team this week, all available immediately - PHP 7.4.6 7.3.18 and 7.2.31.

Laravel 7.11 has also ben released, as well as Symfony 5.1.0-RC1.

Have a good week,

Stay Safe and Well.

All the best,

Ade and Katie

Please help us by clicking to our sponsor:

encrypt php scripts
Protect your PHP Code
Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.


The Future of Code Is in Your Browser
Cloud-based coding environments like GitHub’s new Codespaces make programming more accessible.

What Does PHP Stand For?
In this quick post, we’re going to discuss what PHP stands for and what you can build with it. If you are new to PHP, this article should help you to understand the basics.

8 Reasons to Outsource PHP Development
Facebook, Wikipedia, Yahoo, Flickr, MailChimp, WordPress, iStock, Tumblr, Spotify, Slack, Etsy, Wikipedia…the list goes on. These are just some of the major companies that use or have used PHP. Many were even built with the programming language. Are you considering outsourcing PHP development? If so, here are 8 benefits to consider.

Complexity Has to Live Somewhere
Fighting complexity is a recurring theme of software development I've seen repeat itself over and over again. It's something I keep seeing debated at all levels: just how much commenting should go on in functions and methods? What's the ideal amount of abstraction? When does a framework start having "too much magic"? When are there too many languages in an organisation?

Tutorials and Talks

Phishing Behaviour
The phishing campaign, which was initially discovered on a compromised WordPress website, is made up of two pages responsible for harvesting and sending along the victim’s stolen username, password and recovery phone number.

Refactoring: Demeter-Wrapping
Today, another small 2nd-order refactoring. I call it "wrap a Demeter". As with the others, this is a very modest step, but still quite useful in some situations. Demeter violations are places where a client accesses not just an upstream service, but that service’s upstream services, or even that service’s upstream services. It’s a common problem in evolving code, and left untended, a classic source of unchangeable code.

How to Add Blog Posts to Pages in WordPress
One of the features of WordPress that most site owners use is blog posts. Posts are an essential feature of WordPress, and they arose out of the fact that WordPress started life as a blogging platform. In this tutorial, I’ll show you three different ways to add blog posts to pages in your WordPress site.

PHP Callable Fake Library
Callable Fake is a PHP testing utility by Tim Macdonald that “allows you to fake, capture, and assert against invocations of a callable/Closure.” In some cases, this package can assist in testing scenarios where you allow a developer to pass a callable.

PHP 8 in 8 Code Blocks
PHP 8 brings lots of new features, in this list we'll look at the most outstanding ones. If you want a full list and background information, you can read about all things new in PHP 8.

Bash Tips
Following on from previous posts on bash, here’s some more bash tips that are relatively obscure, or rarely seen, but still worth knowing about.

How to Prepare Your Module for Drupal 9
Drupal 9 will be released in 2020. If you are a contributor of any module on and want those sites to live long after the end of life in 2021, you need to prepare for Drupal 9. Why should you do it at all? First of all, users of your module may want to have it on Drupal 9. Secondly, your clients may ask to migrate their websites to Drupal 9, so it’s better to be ready.

How To Create A CSV File & Save It To Directory With PHP
Saving a CSV file to directory can be achieved with the fopen() function with the correct choice of the many parameters that the function has. In particular, the parameter we are going to use is ‘a’ which instructs PHP to open a new file, creating it if it does not exist and writing to it. Let’s take a look at the full code snippet that we need to use to create and save the file to a directory.

Grandfathering in Legacy
Working with people from other cultures can be challenging, especially when communicating limitations and boundaries. Learn how to improve.

Benefits of Using Application Service Classes
Writing clean and reusable code is not easy, we learn different patterns to achieve that. The MVC(Model-view-controller) pattern is probably the first architect pattern you got to know.

Forget Complex Migrations, Use Cleaning Lady Checklist
Migration of legacy code base is a complex process. If we migrate spaghetti, one framework to another or remove dead-code from 120 k-lines project. It's long, it's hard, it takes an expert to do it... that's bullshit. It should be simple, easy to understand and clear. Like the code we strive to write. How could any programmer start migration today without any daunting studying?

DDD and Your Database
In a previous article I've shared my definition of infrastructure code and we discussed a more practical definition as well: infrastructure code is code that is not sufficiently isolated to test it with a unit test. Let's use this definition for domain models that are prepared for persistence - that are "ORM-ready" so to speak.
News and Announcements 

PHP 7.4.6 Released!
The PHP development team announces the immediate availability of PHP 7.4.6. This is a security release which also contains several bug fixes. All PHP 7.4 users are encouraged to upgrade to this version.

PHP 7.3.18 Released
The PHP development team announces the immediate availability of PHP 7.3.18 This is a security release which also contains several bug fixes. All PHP 7.3 users are encouraged to upgrade to this version.

PHP 7.2.31 Released
The PHP development team announces the immediate availability of PHP 7.2.31. This is a security release. All PHP 7.2 users are encouraged to upgrade to this version.

Laravel 7.11 Released
The Laravel team released v7.11.0 with support for email Unicode validation, a split() “stringable” method, two “or where in raw” query build methods, and all the latest updates to the 7.x branch.

Symfony 5.1.0-RC1 Released
Symfony 5.1.0-RC1 has just been released with a list of the most important changes.

SymfonyLive October 13-16th 2020, Berlin
The SymfonyLive Berlin 2020 conference is coming from October 13th to 16th. Join us at the only Symfony conference organised in Germany at the beautiful Mercure Hotel Moa Berlin, with two workshop days followed by two conference days.
Tickets are on sale now.

Podcasts and Vlogs

Laravel News Podcast LN117 - Laracon, Query Monitors, and Keeping up with Laravel
Jake and Michael discuss Laracon, Query Monitors and keeping up with Laravel.

Voices of the ElePHPant - Interview with Nicolas Grekas
Join host Cal Evans and his special gues Nicolas Grekas as they talk about one of the most popular PHP frameworks, Symfony.

Laravel Podcast Series 4: Episode 4 - Intro to Composer, with Jordi Boggiano
As PHP and Laravel programmers, we use Composer every day. But we often don't know its history, nuances, or the plans for the future. In this episode Matt talks with Jordi Bogianno, co-creator and co-maintainer of Composer, about the powerful tool's history, common use cases, and overall purpose. But we also dive into some nuances, some common mistakes, how it differs from NPM, and the future of the tool.

PHP Internals News: Episode 53: Constructor Property Promotion
In this episode of "PHP Internals News" I chat with Nikita Popov (Twitter, GitHub, Website) about the Constructor Property Promotion RFC.

The Laracasts Snippets Episode 122: TDD Dogmatism
Few topics in the programming world spark debate quite as much as TDD. There's enough dogmatism from the evangelists of TDD to warrant an equal and opposite reaction from those who aren't on board and are tired of being told they're doing it wrong.

PHPUgly #189: Corrective Actions
This week on the podcast, Eric, John, and Thomas have an in-depth discussion about online conferences, Laravel Livewire and Blade components, Github Satellite, and much much more....

php[podcast] Episode 31: Machine Learning, OpenAPI and the Business of PHP
This month, we chat with Sherri Wheeler about the Business of PHP and other topics from the April 2020 magazine.

Reading and Viewing

PHP Workers and WordPress: The Definitive Guide
PHP workers are getting a bad rap lately in the WordPress hosting world. Most commonly, they’re being cited as a scapegoat for a hard upsell by the host. Let’s dig in a bit deeper and discover the truth behind PHP workers and how they apply to hosting WordPress sites.

Interview with Rodolfo Melogli – Founder of Business Bloomer
Rudolf Melogi, started his WooCommerce freelance business when he developed his first bakery website. He realised he is better off making websites than making cakes. Let’s hear the amazing success story from the man himself.

A Week of Symfony #698 (11-17 May 2020)
This week, Symfony published the first release candidate version of Symfony 5.1 so you can test it in your projects before the final release. Meanwhile, the Symfony 5 book published its simplified Chinese translation.

Part 1: Slow and Steady
We’ve all heard the expression from the children’s story: “slow and steady wins the race.” But what does this have to do with refactoring? And how can this help us to modernise our applications?

#DrupalThanks: You Made it Happen - We Met Our #DrupalCares Goal!
Excited! Humbled! Appreciative! Energised! Thankful! Those are just a few of the emotions our team is feeling today as I had the honor of announcing that you helped us meet our #DrupalCares emergency funding goal. Today, we launched a press release to recognise the contributions of the Drupal Community and demonstrate to the world that the Drupal is strong.


Do you have a position that you would like to fill? PHP Weekly is ideal for targeting developers and the cost is only $50/week for an advert.  Please let me know if you are interested by emailing me at [email protected]

Interesting Projects, Tools and Libraries

A decentralised usenet community based on the Spotnet protocol, Spotweb requires an operational webserver with PHP5.6 installed, it uses either an MySQL or an PostgreSQL database to store it's contents in.

An easier way to use PHPUnit with CodeIgniter 3.x.

A library to use async/await in PHP using generators.

Creates and manages locks, a mechanism to provide exclusive access to a shared resource.

Tiny PHP framework focused to be simple, easy and secure. It follows the good coding practices, it's easy to understand and easy to work with without reading massive documentation or doing things more complicated than necessary.

Provides Telegram integration for Symfony Notifier.

Open source framework for developing web applications in PHP, and its architecture is flexible and powerful, allowing for complex production in a simple way.

An ultra-lightweight blogging engine, written in PHP.

A simple and extensible fixture loader for PHP 7.3+, supporting SQLite and MySQL.

This project is a collection of PHP_CodeSniffer rules (sniffs) to validate code developed for WordPress. It ensures code quality and adherence to coding conventions, especially the official WordPress Coding Standards.

An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.3.

Code for database forms and Drupal module for the project.

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect your PHP Code
Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.

So, how did you like this issue?

Like us on FacebookFollow us on Twitter
We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks.
Also, if you have a site or blog related to PHP then please link through to our site.

unsubscribe from this list | update subscription preferences 

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

Talk to us!

If you have some news, want to share a link with us or chat with us feel free to email us.

And we also have an RSS feed that you can use.

Like us on FacebookFollow us on Twitter

Copyright ©