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 16, 2017

Hi there PHP fans,

Ever thought about how easy it would be to write and run code on your Android device, leaving the laptop at home? You're not the only one. Claudio Ribeiro has been doing some research, find out what he discovered.

Also this week WordPress 4.7.3 security and maintenance release was announced, and is available immediately.

The latest tutorial in the series "Building Your Startup" looks at building the request changes infrastruture, for participants to request changes for others to accept or decline.

Plus Matthias Noback has released the first chapter of his book Microservices For Everyone. Still a work in progress, each chapter will be released in stages over the coming weeks. For now though, read the introduction here.

And finally, during last weeks Laracon Online 2017, Q&A sessions took place with all the speakers after each talk. As it all moved at such a fast pace, the organisers have aggregated all the Q&A sessions to one place.

If you've written, read or recorded anything PHP related that you want to share with the PHP community, drop me a line on [email protected].

Katie and Ade

Please help us by clicking to our sponsor:

Heroku users' favorite MySQL database — will soon be available to everyone. Sign-up for early access and get a limited edition t-shirt and a 2.5 GB | 30 connections Blacktip database free for 3 months!


Laracon Online 2017 Recap
The first Laracon Online conference just wrapped up and, based on feedback, many loved the event. I want to personally thank the Laravel community for helping make this a reality. Here is some feedback from attendees.

Fabien Potencier - The Symfony Trademark
This blog post has been written after some concerns expressed on Twitter and Reddit about how SensioLabs manages the Symfony trademark. If you want to read the details about the Grafikart issue, scroll to the end; reading the whole post is recommended though if you want to understand the whole story.

The DrupalDay 2017 in Rome
This year was the 6th edition of the DrupalDay Italy, the main event to attend for Italian-speaking drupalists. Previous editions took place in other main Italian cities like Milan, Bologna and Naples. This time Rome had the privilege to host such a challenging event, ideally located in the Sapienza University Campus.

Evert Pot - After 10 Years, I'm Stopping My Work On sabre/dav
Almost 10 years ago in 2007, I started a project called sabre/dav. I originally was looking to scratch an itch and solve a real problem we had in our company. I recently read a blog post titled “What it feels like to be an open-source maintainer” by Nolan Lawson, which kind of hit home. This made me realise that, after nearly 10 years, my work on this project has turned from something I was very excited about into something a bit more like a chore.

Tutorials and Talks

The Android Elephpant – Laravel on your Android Phone?
It was not that long ago that Christopher Pitt wrote an excellent article about writing and running PHP code on an iPad. After reading it, I thought to myself  “It would be really cool to do the same on Android”: being able to write and edit code on the fly, for example while travelling, and not having to take the laptop everywhere. So I’ve decided to do some research and see what I could come up with.

Closure Binding As An Alternative To “use” Variables
As a general rule when creating a Closure, arguments are passed when the function is called, but “use” variables (I’m sure that they have a formal name, but have no idea what it might be, so I just refer to them as “use” variables because they’re passed to the Closure through a “use” clause) are fixed as the value that they already contain when the Closure is defined, and the variables themselves must already exist within that scope. 

Limiting Subqueries in Doctrine 2 DQL
TIL that Doctrine 2 doesn't support LIMITs within subqueries, which can be frustrating. In my case, I wanted to LEFT JOIN on a table using a subquery with a single result. But Doctrine kept throwing an error.

First Step With Exakat
‘One must review code to live, rather than live to review code’. Reviewing code is part of everyday coding life, and it should be kept just what is it: a short trip back to the code that teaches us about what we did. There are three kinds of teaching in code review: learn from ones own mistakes, eradicate as many bugs as possible, and assess the code. Here is the first step with Exakat.

Validating JSON Against Schema in PHP
GitHub was rather slow yesterday, which affected the speed of installing composer dependencies (since most of them are hosted on GitHub anyway). Staring at a slowly scrolling list of installed dependencies, I noticed something interesting.

Speed Up Your Laravel App With Config Caching
When deploying your Laravel Application, I’m sure you want to fine tune as much as possible to make it as performant as it can be. The community offers many tools to help you in development like the debugbar, and production packages like HTTP/2 Server Push. Outside of these, Laravel also offers core features to help speed up your application, and one of those is configuration caching Artisan command.

An Easy Way to Validate Front End Forms Using Back End Logic
Imagine you’re building a single page application that has a couple of forms. How are you going to validate those forms? Because we don’t want to refresh the page submitting the form as usual isn’t possible. Adding validation logic to the JavaScript side of things would just duplicate the validation logic already present on the server. Wouldn’t it be nice if we could validate our front end forms using back end logic?

Playing with RabbitMQ (Part 2) Now With Python
Do you remember the last post about RabbitMQ? In that post we created a small wrapper library to use RabbitMQ with node and PHP. I also work with Python and I also want to use the same RabbitMQ wrapper here. With Python there are several libraries to use Rabbit. I’ll use pika. The idea is the same as the other post. I want to use queues, exchanges and RPCs. So let’s start with queues.

Introducing WP Image Processing Queue – On‑the‑Fly Image Processing Done Right
I’ve been bugging core contributors and plugin authors about background processing for a year and half now. I think the best solution is to get background processing into WordPress core so that all themes/plugins can share a single queue, and ensure we don’t impact server performance. So started my crusade.

Basic Refactoring Techniques: Extract Method
Refactoring is the process of restructuring code without changing its behaviour, and the technique "Extract Method" is one of the most important building blocks of refactoring. In this post I want to explain the mechanics of extract method using an example so that you have a checklist of steps when performing this refactoring. Extract method is a technique that you can use even without tests, because the potential risks of breaking are manageable when you follow the steps.

A Modern REST API in Laravel 5 Part 1: Structure
This article will demonstrate how to separate your Laravel project into "folders-by-component" rather than "folders-by-type".

Bash Practices - Part 2: CQS and Return Values
As I promised in my previous "Bash Practices" post, I would discuss a query function in this article. Here you have it.

Building Your Startup: Requesting Scheduling Changes
In todays tutorial I'll walk you through building the Request Changes infrastructure. It requires that participants request change(s) and then others can accept or decline them, affecting the final meeting calendar details.

Crash Course: Continuous Deployment with Semaphore CI
Software is playing an ever bigger role in how companies compete across a broad range of industries. Large organisations are finding that their current approaches to managing software are limiting their ability to respond as quickly as business requires. Continuous delivery helps with this. Understanding continuous delivery, a now already long-standing buzzword, is not a problem, but implementing it in the right way has been a challenge for quite a few of us, and one we’ll discuss in this post.

Understanding Laravels HighOrder Collections
A new version of Laravel was available from 24 January 2017 and, as usual, it comes with a lot of new features. Among them, there is one that takes advantage of the dynamic nature of PHP. Some of you out there will contempt this, but I find it awesome!
News and Announcements

WordPress 4.7.3 Security and Maintenance Release
WordPress 4.7.3 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

DrupalCon Baltimore: Learn How To Delight Your Customers
Join us at DrupalCon Baltimore from April 24-28 for a week of inspiration, networking, and learning. Meet Drupal experts and industry leaders who will share new ways to create digital experiences that delight customers, citizens, students, patients and more. The event offers programming for decision makers (CIO/Director) as well as digital teams (developers, project managers, site builders and content strategists).

Midwest PHP Conference - March 17-18th 2017, Minnesota
Midwest PHP is the FUN conference. This is our fifth annual conference, and each year it gets better and better. Our goal is to share best practices, ideas, and techniques about building state-of-the-art software applications. The last hand full of tickets are on sale now.

Lone Star PHP - April 20-22nd 2017, Dallas
It is a bittersweet joy to announce that Lone Star PHP 2017 will be our seventh and final conference. It's shaping to be the best one yet with all of the great PHP speakers and content you've come to expect from Lone Star PHP. We will again provide our popular Training Day for more in-depth and hands-on experience for all that attend. We look forward to having you attend our blowout celebration and are excited to see old and new faces in the local and wider PHP community. While it may be the last year for Lone Star PHP, we're excited to see other community conferences and user groups take the torch to inspire their local developers. Tickets are on sale now.

CoderCruise - July 16th-23rd 2017, New Orleans
CoderCruise is the spiritual successor to php[cruise] that was run in 2016. The PHP community had so much fun that we decided we needed to expand the idea to the greater web tech community! This will be a 7-day cruise out of the port of New Orleans that will include 3 days of conference (while at sea) and 3 days at the ports of Montego Bay, Grand Cayman, and Cozumel. We are looking for a broad range of submissions covering a wide range of web technology topics including coding, design, content, and more. Given the scope of this conference, emphasis will be given to talks that appeal to all web technologists regardless of their programming language of choice (or lack thereof). Tickets are on sale now.

Laracon EU - 28-30th August 2017, Amsterdam
Are you a developer who has a passion for building web-applications? Do you love Laravel or are just in the process of getting started? Do you want to meet the community members that help make it all happen? Then this is the place to be. Laracon EU is a unique international Laravel event with over 600 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.


LaraChat Live - Episode #22 Jason McCreary (Laravel Shift)
Today we visit with Jason McCreary, the creator of Laravel Shift and the video series Getting Git.

That Podcast Episode 39: Public Relations
Beau and Dave discuss skiing, skateboarding, Rebekah's book launch, Bullet Journaling, Rachel Nabor's Practical Cartooning for Technical Folk, Beau getting back into DJing, Dave dabbling in Bitcoin bot trading, Logan, and multiuser SaaS.

Christhian Vigh and France Won the 2016 PHP Innovation Award Edition
The results of the PHP Programming Innovation Award edition of 2016 were announced, and the winner is Christian Vigh from France. Collectively France also won the championship by countries thanks to the contributions this year of Christian Vigh, Lionel Lebeau and Chi Hoang. The site interviewed the winners to know them better. Listen to the winner's interview or watch the interview hangout video, and read the interviews with the France team winners to learn more about the outstanding innovative packages that allowed them to win the 2016 award, and how they can be contacted in case you are interested in hiring them.

MageTalk Magento Podcast #120 - “These Mahays Ain’t Gonna Engahay Themselves”
The guys rap about the Magento Devblog and Kalen complains about competitive overlap.

PHP Ugly Podcast #51: We Are Trending
Topics this week include the release of Homestead V5.0.0 and the announcement of Docker Enterprise edition.

Reading and Viewing

Acquia Podcast: Suchi Garg - Career makes Community
What's in a Driesnote? Interviews from the DrupalCon Dublin "Driesnote" keynote address. Suchi Garg is an IT professional through and through and happened upon PHP and Drupal essentially by accident at work. As of 2017, she has been working exclusively in Drupal for a decade and is still very passionate about code, contribution, the community, and passing on her knowledge through training. She is Technical Services Manager at Acquia. Watch the interview here.

Microservices For Everyone - The Introduction
I'm happy to share with you the first chapter of my new book, Microservices for Everyone. I'm still in the process of writing it and intend to release parts of it during the next weeks. If you're interested, sign up on the books landing page and receive a 25% discount when the first chapter gets released. If you're curious about the table of contents so far, you'll find it in the PDF version of the introduction.

Symfony Community Survey
Take the Symfony Community Survey 2017 and help us shape the future of the Symfony project.

Q&A With The Speakers From Laracon Online 2017
Wednesday was the inaugural Laracon Online, an online conference devoted to bringing great Laravel teaching to folks who may not be able to attend an in-person conference. Tighten co-founder Matt Stauffer spoke on Laravels service container, along with Taylor Otwell, creator of Laravel; Jeffrey Way, creator of Laracasts; Adam Wathan, Tighten alum; and several more excellent speakers. During the session, conference attendees asked questions for the speakers to answer after their talks were over. However, the Slack channel was a fast-paced mix of conversations and Q&A, so we wanted to aggregate the Q&A sessions that did happen together in a single place.

All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced - Volume 1: Mastering the Internet of Things (IOT) at a Stretch, Starting ... and PHP, and Reaching to Interface and Sensor (by DuegGyu Kim, published 20th February 2017)
This book guides readers who know nothing about IOT from basic-level topics to high-level knowledge so that they can understand general concept and details of IOT, and implement and experience the real IOT project directly. 

PHP 7 Simplified Kindle Edition with Audio/Video (by Doug Biere, Jose Patala, Martin Helmich and Nicola Pietroluongo)
This course is for aspiring web developers, mobile developers, and back-end programmers who want to master the intricacies of PHP 7 programming. If you want to take your PHP programming skills to the next level, this course will also help you.


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 PHP-based open source enterprise management system that can be used with several databases - such as Oracle 12c, MariaDB, MySQL. The ERP system contains all the functionalities required for running any manufacturing, service or distribution organisation.

PHP 5.3+ micro logging package that is highly extendable via closures.

Example scripts that cause segfaults in PHP.

A minimalist, open source online pastebin where the server has zero knowledge of pasted data.

The "_s" for Timber: a dead-simple theme that you can build from. The primary purpose of this theme is to provide a file structure rather than a framework for markup or styles. 

A PHP package for mapping remote API resources (usually RESTful) as models in an ActiveResource style.

A PHP router that helps you create web apps and APIs effortlessly.

A succinct and flexible way to add Role-based Permissions to Laravel 5 (>=5.1).

Free, open-source, online appointments platform based on Laravel PHP Framework.

Lightweight Open Source web mail written in PHP and JavaScript.

Repo for OpenCFP project, a PHP-based conference talk submission system.

A highly opinionated PHP code generator library.

The fast pure PHP ORM with a powerful static code generator, designed for PHP 7.

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 

Protect your PHP code with SourceGuardian 10. Free trial.


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 ©