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!

January 3, 2019

Welcome to 2019 and to the first edition of PHPWeekly of the year.

Did you know that almost half of the work force will look for a new job in 2019? Stats show that 1 in 5 people are already job hunting, with the tech industry geared for high growth.

If you are looking to recruit new staff, where better to advertise your job openings then on With a subscriber list of over 16,000, you could just find exactly who you are looking for. 

Or if you want to entice new talent, or new business, to your business, how about sponsoring an edition of A stand out advert at the top of our page to catch the eyes of our 16,000+ subscribers within the PHP community.

For more information drop me a line at [email protected].

Happy New Year!

Katie and Ade

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.


Joomla! A Year in Review - 2018
As we countdown to 2019, we’ll be raising a glass (or two) to all our incredible volunteers who have made the leaps and bounds of 2018 possible. Let’s take a look at all that we’ve achieved together over the course of 2018…

Looking Ahead to 2019: WordPress in the Year to Come
What a year! At the end of 2017, I remember thinking that the previous year had been one of the biggest when it came to change in WordPress. But I didn't know what was in store for 2018! 2018 has seen some of the most fundamental and farthest-reaching changes in WordPress since its inception, embodied by the Gutenberg plugin (and the row over it). But in my view, it's not Gutenberg that will dominate 2019—it's the changes it heralds. So let's take a look at what 2019 might have in store for WordPress and its community of users and developers.

Your Most Favourite Posts in 2018
It's a holiday, we want to rest and enjoy time with our families. Hence I won't bother you with a complex topic, but finish this year with the simple post instead. A post about the most read post in 2018. Was it Symfony? Doctrine? PHP or...

2018 - My Year in Review
As a lot of other people have started to post their write-ups on how 2018 went for them, I want to join them and tell you a little about what happened to me throughout the last 12 months. I think this is also a great way for me to recap what I have achieved over the last year. So here we go.

Conference Buddy
Ever visit an event on your own and tried to blend in with the wall, sweaty hands wrapped tightly around your cell phone, internal debating if you just should take a run for the door? Simultaneously hoping to meet new people and dreading someone could talk to you… Well, that’s me!

9 Things You Can Customise in Laravel Registration
Laravel has a great Auth system out-of-the-box, with just a few commands you can have Login/Register functions ready. But let’s dive a little deeper and see what we can easily customise.

A Recap of 2018 by Freek Van der Herten
Now that 2018 is coming to a close, a lot of awesome people have written a recap post. Here's mine!

Great Plans for PHP Classes in 2019
2018 is almost at the end but here at the PHP Classes site we are continuing to work every day to launch several great initiatives that have been planned or are under development for quite some time. Read this article to learn about these plans so you can make part of what will be the future.

Tutorials and Talks

Serverless PHP on AWS Lambda
Like Simon Wardley, I think that serverless computing is an interesting space because the billing is granular (pay only when your code executes) and you don’t need to worry about maintaining and provisioning servers or containers. So much so, that I maintain the Open Source PHP Runtime for Apache OpenWhisk which is available commercially as IBM Cloud Functions. There are other serverless providers, and AWS Lambda is the market leader, but until recently PHP support could most charitably described as cumbersome. That all changed at the end of 2018 with Lambda’s new runtime API and support for layers. Let’s look at the practicalities of serverless PHP on Lambda with Serverless Framework.

Quickly Build a PHP CRUD Interface With the PDO Advanced CRUD Generator Tool
In this article, we’re going to review PDO CRUD - a form builder and database management tool. PDO CRUD helps you build forms for your database tables with just a few lines of code, making it quick and easy to bootstrap a database application.

How to Prevent Image Hotlinking in WordPress?
“Should I keep or delete image links in WordPress?” This is a question that can be debated for a long time. Even if after choosing managed WordPress hosting, you may have kept the default settings. But imagine, when you upload and insert an image into an article or page, a link is automatically added to the image itself.

How to Build a WordPress Theme from Scratch: Final Steps
In this article, we’ll complete our foray into building a WordPress theme from scratch, focusing on refining our templates, adding meta information, post thumbnails, sidebars, user-friendly controls and more.

Hosting WordPress Yourself 2018 Update
I originally started writing Hosting WordPress Yourself back in February 2015, which makes this series over three years old! During that time a lot has changed, which is why I updated the series just over 12 months ago, to keep the content relevant. Since then, even more has changed in the WordPress hosting scene, so it’s time for another update!

How To Convert All Your Symfony Service Configs to Autodiscovery
Do you use Symfony autodiscovery services registration everywhere and your configs have no extra lines? Skip this post and rather read another one. But if you have many configs with manual service registration, tagging, and autowiring, keep reading. I'll show you how you can convert them easily be new Symplify package.

The Confused C-Driver
Over the past few months I have been adding the MongoDB driver for PHP to Evergreen, MongoDB's CI system. Although we already test on Travis and AppVeyor, adding the driver to Evergreen also allows us to test on more esoteric platforms, such as ARM64, Power8 and zSeries. While adding the zSeries architecture to our test matrix, we noticed that one specific group of tests was failing.

MyCLI: A MySQL CLI with Auto-Completion and Syntax Highlighting
If you use the MySQL command line tool, but also like things like auto-completion and syntax highlighting, you should check out mycli. According to the project’s website, “mycli is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.”

Managing Authentication in Your Symfony Project with AWS Cognito
One of our front-end engineers, Sebastian, has been working on a few side projects recently, one of which included setting up user pools in AWS Cognito to handle his user management. As he was showing me around the things he’d been doing, it got me thinking “how easy would it be to defer Symfony’s authentication to Cognito as well?”.

Show WordPress Related Posts With Taxonomy and a Custom Post Type
Sometimes you want your blog posts to appear on more pages in your WordPress site than just your blog. You've already got the option of using category and taxonomy archives, as well as tags. This can help you divide up your content and add a variety of sections to your blog or news site. In this tutorial, I'll show you how to add a list of relevant posts to each page for a custom post type in your site.

Working with the Thin Controller and Fat Model Concept in Laravel
Models and controllers are one of the most essential programming handlers in the Laravel MVC framework, and both are used vastly for different functional operations. Models in Laravel are created inside the app folder and are mostly used to interact with the database using Eloquent ORM, while the controllers are located inside the directory App/Http/Controllers.

Wormable Stored XSS on
In this blog post, we investigate a critical stored XSS vulnerability on the website we have reported to the WordPress security team in May of this year.
News and Announcements

GrumpyConf - March 22nd-23rd 2019, Ontario
Back for another edition, GrumpyConf 2019 is your opportunity to listen to some of the PHP communitys best speakers before lunch and then learn from them and other attendees via open spaces sessions. Tickets are on sale now.

Longhorn PHP Conference - 18-20th April 2019, 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. Blind Bird Tickets are on sale now.

Oscon - July 15-18th 2018, Portland
The 21st Open Source Convention takes place next July. OSCON brings open source community, enterprise and engineering teams together to share best practices, projects that transform business and insight into what you need next. The Call for Speakers is now open.

Nomad PHP EU - January 17th 2019 11:00 PST
Advanced WordPress: Plugin Creation. Presented by Peter MacIntyre. You say you can't find that perfect WordPress plugin in the many thousands that exist? Maybe you have something unique that you want to add to WordPress that no one else has thought of? Maybe you want to customize your site in a way that makes your site extra unique? Attend this session to see just how easy it is to create your own plugin and to get a brief look at the internal functions that WordPress makes available to the developer.

Nomad PHP US - January 17th 2019 6:00 PST
Testing Like You've Never Tested Before (Because You Haven't)
Presented by Steve Grunwell. Testing software in an automated fashion is one of the best ways to guarantee quality, reduce bugs and prevent regressions in our code, and is a prerequisite to operating in a Continuous Integration environment. This talk covers the fundamentals of testing, in a beginner-friendly way.

Podcasts and Vlogs

Full Stack Radio Podcast Episode 104: Jonathan Reinink - Pushing More Work to the Database
In this episode, Adam talks to Jonathan Reinink about strategies for off-loading resource intensive work from your application code and into your database.

LaraChat Live - Episode #38 Consistency? What is That?
We really could be more consistent in trying to organise these. Well.. we are here.. or rather some of us are!

The Laracasts Snippets Episode 89:  Protect Your Baseline
In the last year - after breaking a few of my personal rules - I've become incredibly sensitive to lifestyle creep. In this episode we discuss why, eight months ago, I asked my pregnant wife to help me slash our lifestyle in half. We'll also talk about important considerations for your own life.

PHP Ugly Podcast #133: We'll Do It Live!
This week Eric, Thomas and John discuss various topics including Bye Bye Mongo, Hello Postgres and An Unexpected Opt-In Trick.

North Meets South Web Podcast Episode 52: Third Annual North Meets South meets Dads in Dev meets TJ Miller meets Chris Gmyr Belated Christmas Extravaganza Podcast
Jake and Michael are joined by David and Andrew of the Dads in Dev podcast, along with TJ Miller (not the actor/comedian) and Chris Gmyr to wrap up 2018 and look ahead to 2019 #cashmoney.

PHP Web Development Podcast EP#28 - What Can Companies Do To Keep Developers?
In this episode we will discuss what companies can do to keep their developers. We will talk about hackathon and how this can help developers. We will discuss the importance of communication between developers and management.

Beachcast Tech Videos - Build a Local PHP Development Environment with Docker, Composer and Zend Expressive.
In this episode, Adam Culp (@adamculp) walks through how to build a local PHP development environment with Docker using docker-compose, PHP 7.2, Composer, Apache, MySQL, and Zend Expressive.

Reading and Viewing

A Week of Symfony #626 (24-30 December 2018)
The last week of 2018 showed a low development activity. The upcoming Symfony 4.3 added a new option to force adding the trailing route parameters and there was a new proposal to add configurable argument value resolvers.

Cloudways Interview - Ryan Sullivan of WP Site Care
Ryan Sullivan is a web consultant with more than 7 years of experience in database administration, security analysis, record management, and web architecture. He is the founder of WP Site Care and also serving as an account executive of Southern Web, a web development and digital marketing. In this interview with Cloudways, he shares the highlights of his career from SysAdmin for Microsoft products to WordPress security analyst.

Workshop: Achieving Undisturbed REST (Part-1) 11am PST January 24th 2019 
Building an API is easy. Designing an API is hard. In this five hour workshop we'll jump right in, tackling the questions you need to answer, looking at how to design your API, and learning from real examples in the field. And as a special bonus, each participant will receive a complimentary PDF version of the book to dig in and continue learning with. Part 2 takes place later in the day at 2pm PST.

A Must Do Free Interview Preparation Course by GeeksforGeeks
GeeksforGeeks brings a completely free Interview Preparation Course designed for both working professionals as well as students to prepare for coding interviews.

Clarifications to A Review of Action Domain Responder
Herberto Graça, as part of his Software Architecture Chronicles, saw fit to review the Action-Domain-Responder pattern that I have written so much about. It’s a good writeup, and you should read the whole thing, but it is off in a couple of places. I sent Herberto a followup email with some minor corrections and clarifications; I repeat it below (with light editing) for posterity.


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

Shopware 5 is the next generation of open source e-commerce software made in Germany. Based on bleeding edge technologies like Symfony 3, Doctrine 2 & Zend Framework Shopware comes as the perfect platform for your next e-commerce project.

Silly CLI micro-framework based on Symfony Console.

Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure.

LdapTools is a feature-rich LDAP library for PHP 5.6+.

Install PHP packages and configure PHP INI files, for using PHP from the CLI, the Apache httpd module or FastCGI.

A simple lightweight MVC PHP framework.

PHPBack is an open source feedback system you can use for your website.

WordPress starter theme with a modern development workflow

Virtualised Development Environment Management in PHP.

JoliNotif is a PHP library to send notifications to your desktop directly from your script.

Easy access to the Twitter REST API, Collections API, Streaming API, TON (Object Nest) API and Twitter Ads API - all from one PHP library.

Elgg is an open source rapid development framework for socially aware web applications.

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 ©