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 23, 2019

Hi there PHP fans.

For those of you who are either not programming in PHP anymore, or are stuck in legacy projects, we have an article focusing on the things that have changed and ways to write clean and maintainable PHP code to show why it's still a great choice for web development.

Also this week we have the third part of a tutorial series on developing PHP on Docker, looking at building a complete development infrastructure.

The International PHP Conference is almost upon us, early next month in Berlin. There's still time to get your ticket.

Plus Cal Evans and Omni Adams talk about using PHP and Alexa to help with home brewing in the Voices of the ElePHPant podcast.

Have a great weekend,

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.


PHP in 2019
Do you remember the popular "PHP: a fractal of bad design" blog post? The first time I read it, I was working in a crappy place with lots of legacy PHP projects. This article got me wondering whether I should just quit and go do something entirely different than programming.

Top WordPress Audio and Video Plugins of 2019
WordPress audio and video plugins are essential if you are looking to add video and audio players to your website. In this post, I'll share some of my favourites for 2019—I've picked plugins that have features that are missing from many of the other plugins available.

Laravel PHP Framework: Why It is Crucial for Enterprise Websites
Laravel has long been considered the champion when it comes to PHP frameworks, and this popularity can be chalked up to a plethora of reasons. Let’s begin with the fact that it is a modern open-source framework that provides significant assistance to developers for developing customised web applications of superior quality. Then there’s also the vast number of terrific features Laravel comes with - the kind of features that make it extremely simple to use as well as highly conducive for developing enterprise websites.

Tutorials and Talks

Running PHP Unikernels on Google Cloud
Setting up and managing our own servers can take a considerable amount of time especially if we are not a day to day linux user. That is why we see things like serverless and containers catching on. There’s another option out there though too and it’s called unikernels.

How to Make a Newsletter Email Subscription Popup With the ConvertPlus WordPress Plugin
In this tutorial, we will make a newsletter popup using the ConvertPlus plugin for WordPress, available on CodeCanyon. With MailChimp support, this is a great plugin for collecting email subscriptions and doing email marketing with WordPress.

Three Ways to Build Dynamic Web APIs using PHP
In this article, we learn how to build dynamic Web APIs using PHP. Why PHP? PHP is a very popular programming language used for rendering server-side web pages and is included as a standard option with many web hosting providers.

My Bref Makefile
In order to use Bref efficiently, I’ve developed a Makefile so that I don’t have to remember all the various commands required. In particular, looking up the correct parameters to sam package & sam deploy is a pain and it’s much easier to type make deploy and it all works as I expect.

Facebook Pixel for WooCommerce: What Is It and How to Implement It?
In this article, I’ll explain what is Facebook Pixel and how to install Facebook pixel on your WooCommerce store to take advantage of this great tool.

Alias as a Code Smell
Do you have 2 class with the same name? App\Entity\Product and App\Entity\Product? Of course not. But I bet you have at least 2 classes with the same short name *\Product and *\Product. And that smells... Why?

PSR-14: Example - PSR-14 in a Non-Blocking Application Server
We continue our exploration of PSR-14's potential with a guest post. Cees-Jan Kiewiet was the Sponsor of PSR-14 (meaning the member of the Core Committee who bridged from the Working Group to the Core Committee), and is on the core team for ReactPHP. One wouldn't think there's any use cases for PSR-14 in an async environment like React, but one would be wrong.

Single Responsibility Principle: Back to Basics or Over-Engineering?
We'll focus on responsibility by answering the question What is it responsible for? or What should it do? I find this question one of the most important for software development as it makes easier to decide where should a part of software be. We'll cover methods, classes and even modules by the single responsibility principle.

New in WP Offload SES: Subsite Settings for WordPress Multisite
If you work on even one multisite install of WordPress, you’re going to be happy to hear about our latest release for WP Offload SES. Introducing subsite-specific settings for WP Offload SES. This release also includes a few improvements and fixes, but let’s take a look at what’s new.

Structuring the Docker Setup for PHP Projects
In the third part of this tutorial series on developing PHP on Docker we'll lay the fundamentals to build a complete development infrastructure and explain how to "structure" the Docker setup as part of a PHP project.

Command Pattern for Legacy Code Refactoring
Just recently I run into an issue on one of my projects which I gracefully solved using the Command pattern. The project has a lot of legacy code, and to avoid the pain of major refactoring we do it gradually, piece by piece.

Sorting Select Fields in EasyAdminBundle
I'm currently working on an application using Symfony and their EasyAdminBundle. The experience has been great overall, although there are lots of details and specific usecases that are hard to figure out.

425 Too Early
When a HTTP client makes a connection to a HTTPS server, it uses TLS to create a secure connection. TLS can have a bit of a complicated ‘handshake’ to establish the connection. Because there’s a bunch of back and forward, this can take a long time, especially when there’s a lot of latency between server and client.

How to Upgrade to The Latest Bitcoin Core Version
This guide assumes you've followed my other guide, where you compile Bitcoin Core from source. These steps will allow you to upgrade a running Bitcoin Core node to the latest version.

Learning To Add Git Hook Tasks: PHP-CS-Fixer
Let’s start by describing what the parts of this task are, and what we are doing today. The overall goal is for all of our application files to meet a certain code style, and so to make it less cumbersome to enforce this, we’d like to use PHP-CS-Fixer.
News and Announcements

International PHP Conference - June 3rd-7th 2019, Berlin
The International PHP Conference is the world's first PHP conference and stands since more than a decade for top-notch pragmatic expertise in PHP and web technologies. At the IPC, internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Here is the place where concepts emerge and ideas are born - the IPC signifies knowledge transfer at highest level. Tickets are on sale now.

Darkmira Tour PHP 2019 - 8-9th June 2019, 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 30 talks where international and national speakers will share their knowledge in English and Portuguese. Tickets are on sale now.

Dutch PHP Conference - June 6-8th 2019, Amsterdam
The Dutch PHP Conference is very pleased to announce the dates for the 2019 edition: we will be organising DPC19 on 6, 7 and 8 of June 2019! We will be hosting the conference again in the RAI Amsterdam venue. Traditionally we start with a preconference tutorial day on Thursday June 6, followed by 2 full conference days packed with keynotes, sessions, community events, parties and more! Tickets are on sale now.

Laracon EU - August 28-30th 2019, Amsterdam
Laracon EU hosts multiple annual conferences where the international Laravel PHP community celebrates together. It's an unforgettable experience where we meet with friends, network for business and gain opportunities while learning about modern web development. This year we expect 850 attendees in Amsterdam for a three day event, one primary stage with 30 min. sessions and to mainly focus on in-depth technical topics that are relevant for Laravel developers. Early Bird tickets are on sale now.

CakeFest Conference - November 7-10th 2019, Tokyo
For 2019 we're hosting our annual CakePHP conference in Tokyo, Japan. Covering 2 full days of workshops, showing off the latest and best practices with the framework, followed by another 2 days packed with noteworthy talks from some of the most influential members of the global community, this is a must for any CakePHP developer. Tickets are on sale now.

SymfonyCon - November 19th-23rd 2019, Amsterdam
Symfony is proud to organise the seventh edition of the SymfonyCon, the international Symfony conference. This year, to celebrate Symfony, we decided to bring the entire community to the Netherlands and discover the amazing city of Amsterdam. SymfonyCon Amsterdam is a 5-days event from November 19th to November 23rd with a two-day workshop, two day conference and one hackday. The Call for Papers is open and tickets are on sale now.

Podcasts and Vlogs

php[podcast] Episode 20: Serverless PHP, Composer and Magento, php[world] Call for Speakers
Eric, John, and Oscar are back discussing Serverless PHP, Deploying ReactPHP Applications and Mysql 8.o, while Oscar talks about using Composer with Magento and similar experiences with Drupal.

PHP Town Hall Podcast #66: Getting Jitty Wit It
Matt Trask and Ben Edmunds are joined by Joe Watkins to discuss what’s new with PHP 7.4 and PHP 8.0.

Voices of the ElePHPant - Interview with Omni Adams
Cal Evans and Omni Adams talk about using PHP and Alexa to help with home brewing.

Beachcast Tech Videos 015 - Doctrine ORM One-to-Many Bi-Directional Association
Adam Culp of Beachcasts php tutorial videos walks through how to create entity associations using php annotations with DoctrineORM for web development.

Full Stack Radio Podcast Episode 115: Jason Lengstorf - Gatsby for Skeptics
In this episode, Adam talks to Jason Lengstorf about Gatsby, and why using React and GraphQL to build something even as simple as a blog is not as crazy of an idea as it sounds.

PHP Internals News Episode 10: LSP and Operator Precedence
In this tenth episode of "PHP Internals News" we talk to Nikita Popov (Twitter, GitHub) about a few RFCs that are related to LSP and operator precedence.

Laravel News Podcast LN83 - Translations, IDEs in The Cloud and PHP Insights
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.

The Laracasts Snippets Episode 98: The Media Consolidation Dilemma
Are you as annoyed as I am that there are five different points of entry, if you want to watch a movie you own? Is it a Blu-ray? Is it on your DVR? Did you buy it on iTunes? Or was it Amazon Prime? Recently, I've been trying to consolidate all of my purchased media to a Plex server I set up. If you're in the same boat, here are some things to watch out for.

PHP Ugly Podcast #151: The Birthday Boy
This week, Eric, Thomas, and John discuss various topics including The new Windows Terminal.

North Meets South Web Podcast Episode 58: Scaling Databases, Dispatching Jobs and Taking Charge of Teams
Jake and Michael discus the perils of scaling the MySQL database for an application, the handiness of dispatching jobs, and taking charge of development teams.

PHP Web Development Podcast EP#39 - NestJS
This week we will be talking about NestJs. Ashleigh will be explaining what this is and the benefits for PHP developers using NestJS.

Reading and Viewing

A Week of Symfony #646 (13-19 May 2019)
This week Symfony continued polishing the upcoming Symfony 4.3 version with the addition of a cache to improve PropertyInfo performance. In addition, the Symfony local web server started publishing its releases on GitHub, so you can watch that repository to not miss any release. Lastly, a special Amsterdam PHP Meetup was announced for June 20th in anticipation of the SymfonyCon Amsterdam 2019 conference.

Security Newsletter Issue 129
A weekly e-mail keeping you up-to-date with security news, with about 10 items in every issue.

Magento Versions – Years Of Ecommerce Excellence
The first beta Magento version was launched in August 2007, with the vision that this ecommerce platform would provide much more than the prevailing ecommerce platforms. The creator of Magento platform, Roy Rubin had the idea of creating an ecommerce platform that offered stability and flexibility to all ecommerce stakeholders. To date, Magento has maintained its top position because of unrivalled support and an extensive ecosystem.

Kinsta Welcomes Matteo Duò
Kinsta is thrilled to welcome Matteo Duò to the Marketing team as our very first Editor in Chief.

Newcrafts 2019 Day 1
This week I attended and spoke at the Newcrafts conference in Paris. The following is a mix of notes and personal observations I wanted to share, centred around some of the talks I saw there.

It was 6 years ago when I was last looking for a change after being a freelancer for a very long time. The idea was simple. I was tired of being the accountant, salesperson, consultant, developer, collections, sysadmin, and more. As a freelance “developer” I had to be all these things to support my family and live in a manner I was accustomed. But I was growing tired of it all, and wanted to have a little more fun by doing the parts I enjoyed most…consulting.


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

php Cookbook
Development repository for the php cookbook.

A pure PHP library for reading and writing word processing documents.

Free, open-source, self-hosted URL shortener web application based on the Laravel PHP Framework.

This plugin for version 3 the CakePHP Framework allows you to use the Twig Templating Language for your views.

Another web based photo gallery.

Instant PHP quality checks from your console.

PHPZxing is a small php wrapper that uses the Zxing library to Create and read Barcodes. Under the hood it still uses the Zxing library to encode and decode data.

PHP library to consume messages from any broker.

Seed-PHP is a microframework that offers you a really simple way to implement powerfull RESTfull APIs or even simple websites that could support pretty much all needed methods and responses in JSON or XML formats.

An object oriented approach to generating OpenAPI docs, implemented in PHP.

RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites which don't have one. It can be used on webservers or as stand alone application in CLI mode.

A fully IndieWeb-compatible PHP blogging engine.

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 ©