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!

March 29, 2018

Welcome to the latest @phpweekly news.

This week we take a look at some recent topics within the Symfony diversity initiative, including the creation of a mentorship program.

We also have Part 7 of the Domain-Driven Design series, looking at multilingual text in a separate database table.

Plus in the latest Magetalk podcast, the guys interview Kuba Zwolinski of Magebutton and Snowdog fame about the Magento Innovation Lab.

And finally, the Darkmira Tour PHP Conference takes place next month in Brazil, focused on security and quality in PHP ecosystems.

We always welcome feedback, so if there's anything you'd like to see, or not see, in our newsletter, please drop me a line at [email protected].

Have a great weekend,

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.


Hey WordPress Plugin Developers, Stop Supporting Legacy PHP Versions In Your Plugins
I recently saw this tweet from Danny van Kooten which reminded me of one of the many major gripes developers have with WordPress – supporting ancient PHP versions.

How Automattic ( & co.) Partly Moved Away From PHPUnit to Atoum?
Few months ago at Automattic, my team and I started a new project: Having better tests for the payment system. The payment system is used by all the services at Automattic, i.e. WordPress, VaultPress, Jetpack, Akismet, PollDaddy etc. It’s a big challenge! Cherry on the cake: Our experiment could define the future of the testing practices for the entire company. No pressure. This post is a summary about what have been accomplished so far, the achievements, the failures, and the future, focused around manual tests.

Symfony Diversity Initiative Update
Below I just want to go over some recent topics within the diversity initiative.

How to Criticise like a Senior Programmer
As I spend most of my socials online time on Github and PHP-related discussion, I've noticed many people do so many wrong things while giving critics. I want to correct this once and for all, so I've prepared a guide for you.

15 Best PHP Help Desk Scripts
If you sell services or products on your own website, you need a good, reliable Help Desk system that will enable your clients or customers to reach you quickly and easily with queries or complaints. Solving issues related to your products or services in a timely and satisfactory manner will lead to happy clients and customers, and that in turn leads to referrals and repeat business, which is the lifeblood of any venture. With this in mind, I’ve compiled a list of the 15 best PHP Help Desk scripts available at CodeCanyon. Have a read to find the one that best suits your needs.

Tutorials and Talks

Domain-Driven Design, part 7 - Alternative Relational Database Mapping
Do you think that multilingual text must always be in a separate database table? Then this article is for you!

Getting Started with Signed Routes in Laravel
In the latest Laravel 5.6.12 Release a new signed URLs feature was introduced. In this article, we’ll work on enabling signed URLs in an application and look at a few options of how to use them.

Drupal Headless Architecture with JS Framework [Live Demo]
A few years back, I couldn't fathom having any real interest in old-school CMSs like Drupal or WordPress. And I wasn't alone.

Async Expressive? Try Swoole!
When we were finalising features for Expressive 3, we had a number of users testing using asynchronous PHP web servers. As a result, we made a number of changes in the last few iterations to ensure that Expressive will work well under these paradigms. Specifically, we made changes to how response prototypes are injected into services.

New in Easy Coding Standard 4: Clean Symfony Standard with Yaml and Services
I wrote about news in Easy Coding Standard 3 a while ago. EasyCodingStandard 4 is not released yet (still in alpha), but soon you'll be able to use all the news I'll show you today. And what are they? Neon to Yaml, semi-static to Services, customisable caching, even simpler skipper, short bin and more.

A Quick Guide To Working With Arrays
An array is a variable, which can hold multiple values in it. Take it as a cupboard with multiple compartments within it. The cupboard has compartments, and each compartment holds something.

Converting DI Config Files to Disco Configuration
Given you want to introduce Disco into a legacy project, you need to manually convert the existing DI configuration into Disco's class based configuration format. This requires you to have in-depth knowledge about the DI container format your project is using right now as well as some in-depth knowledge of Disco's configuration.

The Dev Lead Trenches: Reviewing Code
Code reviews are one of the best ways to help a team ensure they’re writing the best code possible. In all of the jobs where we have done peer-lead code reviews, we have caught more bugs and had better discussions about code than in places or times where we just hammer code through the approval process. I know, I know; we all write beautiful, bug-free code, so why go through the hassle of a code review?

Laravel Excel 3.0
Laravel Excel is a package by Maatwebsite that makes working with spreadsheets easy. It’s been out since 2013 and just recently released version 3.0 with some important breaking changes.

Symfony Tutorial: Building a Blog (Part 3)
Symfony is a PHP framework as well as a set of reusable PHP components and libraries. It uses the Model-View-Controller design pattern and can be scaled to be used in any requirement. It aims to speed up the creation and maintenance of web applications, replacing repetitive code. In this part of the series, you will learn how to deploy the blog engine that you have created in the previous parts on Heroku. The final code can be found at this repository.

Make Your WordPress Blog Fly With These Speedy Plugins and Tweaks
WordPress sites are notorious for their poor loading times. The platform itself comes with very few optimisations, and once you start adding plugins, things will only go south from there.

Open-Source Is About Sharing and Giving Back. Think About That
Maintaining an open source project – even a small one – is not an easy task. The open source ecosystem is about sharing and contributing, about giving and receiving. You scratch my back and I will scratch yours.

PHPUnit Pretty Result Printer Package
PHPUnit is the workhorse for PHP developers everywhere, it’s a tool we all use and use constantly. Because of this shouldn’t we want the output to visually appealing and look awesome? Mike Erickson thought so and created a Pretty Result Printer package that extends the default PHPUnit Result Printer to make it look better.

Separate Interactive Test Suites
On a recent Full Stack Radio episode Adam Wathan and Taylor Otwell were talking about testing Laravel applications. During the episode they spoke about isolating interactive integration tests from your normal testing e.g. payment gateways, third-party integrations. One use case would be as contract tests for fakes (really test doubles in general) to mitigate “API drift”.

How To Use Sessions in PHP
Session in PHP is used to store data within a browser. It is best for temporarily storing user's login details or website preferences.

Build a Newsletter Chatbot in PHP - Part 2
This is part two of building a newsletter chatbot in PHP. In part one, we already created a little Facebook Messenger chatbot that welcomes you and tells you about the subscriptions process. Now we need to actually store those subscriptions in order to send out our first newsletter. Let's do this.
News and Announcements

Laravel v5.6.13 Released
Another release with a couple of great additions.

Darkmira Tour PHP 2018 - 14-15th April 2018, Brazil
The unmissable event on security and quality in PHP ecosystems. Come and discover the latest developments in the PHP ecosystem, good practices, tools and methodologies during these two days, with more than 20 lectures, where international and national speakers will share their knowledge. Tickets are on sale now.

Longhorn PHP Conference - 19th-21st April 2018, Austin Texas
Longhorn PHP is a 3-day conference in Austin, Texas to help PHP developers level up their craft and connect with the larger PHP community. Our main goal as a conference is to equip attendees to be better developers. If you work with developers or alongside developers, we'll showcase tools and techniques to level up your ability to solve the problems you face every day. Tickets are on sale now.

SymfonyLive Phantasialand - May 2nd-4th 2018, Phantasialand in Brühl
There will be a SymfonyLive again in 2018 - but in May we will not meet as usual in Cologne, but a little further south: in the Phantasialand in Brühl! As always, there will be two days of challenging workshops in Phantasialand on May 2nd and 3rd. On the conference day itself, a track awaits you with talks about Symfony and PHP. The Phantasialand offers us a new environment in which we can hold both the workshops and the conference. In addition, the conference ticket gives you unrestricted access to the park both on the workshop days and in the breaks of the conference! Tickets are on sale now.

PHP Serbia Conference - May 25-27th 2018, Belgrade
PHP Serbia Conference delivers high-value technical content about PHP and related web technologies, architecture, best practices and testing. It offers two days of amazing talks by some of the most prominent experts and professionals in the PHP world in a comfortable and professional setting. Early Bird tickets are on sale now.

Laracon EU - 29-31st August 2018, Amsterdam
Laracon EU is a unique international Laravel event with over 750 attendees. The conference has multiple tracks and is focusing on in-depth technical talks. Come learn about the state of the industry while networking with like-minded and diversely experienced developers. Early Bird tickets are on sale now.

WavePHP Conference - September 19th-21st 2018, San Diego
WavePHP Conference is bringing the wonderful PHP community to the Southwest United States. Designed to be a conference for both professionals and hobbyists alike. Held in beautiful southern California's San Diego County the area has ideal weather and tons of activities. Tickets are on sale now.


Laravel IO Podcast Season 3: Episode 10 - Interview: Snipe, AKA Alison Gianotto
An interview with Alison Gianotto / Snipe, creator of Snipe IT.

The Laracasts Snippets Episode 81: Q&A - Controversial Ideas, Politics, and Code
It's time for another Q&A. This week, we'll discuss everything from how I'd build Laracasts differently today, which controversial ideas I subscribe to, reflections on having a two year old child, and, of course, code editors...

PHP Ugly Podcast #99: Revert This Show
Topics include Buildkite and Ghost Inspector.

Post Status Draft Podcast - Observations On A Maturing Ecosystem
In this episode, the Brians chat about the steady change that has played out in the WordPress ecosystem throughout the past decade and speculate about what is still to come.

Changelog Podcast #289: Automated Dependency Updates
Rhys Arkins joined the show to talk about automating dependency updates using Renovate. Renovate is an open source tool to keep source code dependencies up-to-date using automated Pull Requests. We talked about who’s using it, the languages and environments that are supported, self-hosted vs SaaS and how that plays into supporting this open source, auto-merging, being a GitHub App and in the GitHub Marketplace, and building this as a business on someone else's platform.

Magetalk Magento Podcast #164 - Gosh-Darned Data Privacy (w/ Kuba Zwolinski)
Kalen does his best Bill Clinton impersonation, the guys rap about GDPR - and we interview Kuba Zwolinski of Magebutton and Snowdog fame about the Magento Innovation Lab and how B2B can benefit from the Internet of Things. Listen now!

Reading and Viewing

Cloudways Interview - Ivana Cirkovic Talks About Her Digital Marketing Experience
Ivana Ćirković is a digital marketing evangelist with more than 10 years of experience in online marketing, content strategy, content ideation and process, copy-writing, and managing PR and communication of various digital agencies. She is currently serving as the general manager of, a consulting, digital marketing, and public relations agency in the field of Internet and social networks.

Laravel Companion: Second Edition Paperback (by Johnathon Koster, published 25th February 2018)
The Laravel framework contains many useful helper functions, features, and utility classes (such as Collections); some of these features are easily overlooked or taken for granted. This book exposes these utilities to encourage accelerated application development using the Laravel framework. With The Laravel Companion, you will learn about external API integration, collections, request management, and much, much more!

Object Oriented Design Patterns In PHP 7 Kindle Edition (by Sanjib Sinha, published 25th February 2018)
Why should I write PHP code? And what would it do for us? That is the first question. Here is a try to dig deep into a few difficult PHP concepts that often people search and don't find the ready answer.


Senior Software Engineer (Onsite London)
SamKnows is working with governments, ISPs, consumers and academics worldwide to build the definitive global internet performance measurement platform. With over 100,000 hardware measurement probes distributed across 35 countries, and even more mobile app installations, we provide an accurate analysis of end-to-end internet performance. If you love big data, machine learning, and want to work in a fast-paced environment while contributing to the greater good, SamKnows could just be what you’re looking for.

Kinsta is Looking For Multilingual WordPress Support Engineers
Kinsta, one of the leading WordPress hosting provider is looking for a competent support engineer from 9AM to 5PM (local time zone) who can provide enterprise level technical support their customers. WordPress expertise with excellent written communication skills is required.

LaraTalent - Companies apply to YOU
LaraTalent is a reverse job board. We find the best PHP developers and showcase them to companies looking to hire the best talent.

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

Just another routing library. Makes human-friendly URLs and programmer-friendly code. Uses trees for the best performance.

YouPHPTube! is a video-sharing website, an open source solution that is freely available to everyone. 

An ultra-lightweight blogging engine, written in PHP.

Prooph Event Store is capable of persisting event messages that are organised in streams. 

This Bundle provides base classes for functional tests to assist in setting up test-databases, loading fixtures and HTML5 validation. It also provides a DI aware mock builder for unit tests.

A Facebook bridge for Laravel.

DOMjudge is a system for running a programming contest, like the ACM ICPC regional and world championship programming contests.

The Phar Installation and Verification Environment (PHIVE). Installation and verification of phar distributed PHP applications has never been this easy!

A learning management plugin for WordPress, which provides the smoothest platform for helping you teach anything.

PHP libraries that makes Selenium WebDriver + PHPUnit functional testing easy and robust.

MsgPHP is a project that aims to provide (common) message based domain layers for your application. It has a low development time overhead and avoids being overly opinionated.

Repository to develop Symplify packages. All PRs and issues here.

A customisable PHP script that displays information about your system nicely.

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 ©