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 31, 2016

Welcome back PHP fans,

This week, from the SitePoint website we bring you an article promoting some of the best open source projects around.

We also have a short tutorial on the Twilio blog, looking at dealing with valid and invalid numbers using the Twilio PHP library. 

The WordPress 4.5 Release Candidate has been announced, with nearly 50 changes since Beta 4 was released last week.

Plus, Laravel creator Taylor Otwell recently took part in an Ask Me Anything session, taking questions on all different subjects from all around the world.

And finally, always wanted to get your hands on a plush ElePHPant doll? Well php[architect] is now selling them, featuring the Laravel and PHP logos.

Have a great weekend,

Katie and Ade

We love our sponsors. Why not try them?


 From our sponsors:

Meet JIRA Software JIRA is now redesigned with your software team in mind. Say hello to JIRA Software.

(ads by LaunchBit) 


The Updates That CakePHP 3 Brings To The Table – Why We Love It and So Should You! 
With a year under its belt and 34 releases, we are still in love with CakePHP 3; and some of you are already on board and loving it. With an average of nearly 3 releases a month, you can easily tell that the team is working against a rapid release cycle where they are tirelessly working at adding and improving features - but do you know the philosophy behind it?

Sourcehunt March 2016: PHP in Rust, Pathfinding, Eve Online
On the SitePoint website this week, it's time to promote some open source projects again!

Lug-Nut Driven Development (LuDDite)
These are practices that I’ve applauded myself for doing at the beginning of some projects, and kicked myself for not doing early enough in other projects. TL;DR: Build the whole thing badly, test as you build, log everything, plan the error handling, and automate stop and start.

When To Write Setters
I have set out, almost unconsciously, to use constructor injection by default in the last few years while writing object-oriented applications. With Dependency Injection as a given, constructor injection satisfies most of my requirements for building an object graph and dynamically configuring collaborators.

Tutorials and Talks

Guzzle in the New Relic UI
We’re pleased to announce that the New Relic PHP agent now reports information for the Guzzle HTTP client library. In this blog post, we’ll walk you through a common experience you might encounter with Guzzle, explore its underlying mechanisms, and end with some thoughts about calculating and visualising asynchronous behaviour.

PHP 7 Migration Guide Part 1: 10 Backwards Incompatible Changes
PHP 7 is out since December 2015 and several updates were released. Its advantages compared to PHP 5.x are huge, but first you need to consider what are the backwards incompatible changes so you can evaluate the effort that it may take you, so it does not break your existing applications. Read this article to understand 10 of the most relevant backwards incompatible changes that you need to pay attention to, before you migrate to PHP 7.

Drop 'Public' Not 'Var'!
A PHP RFC vote has started to deprecate the var keyword in PHP 7.1 and remove it in PHP 8. At the time of writing, there are 23 who say it should be removed, and 18 who say it should not. I’d like to offer a different opinion: I think people should be using var instead of public. I realise that this is as controversial as tabs vs. spaces (as in: it doesn’t really matter but conjures heated discussions), but hear me out!

Read CSV Data into a PHP Array
The CSV ("Comma Separated Values") file format is one of the oldest in existence that is still used today to exchange data between dissimilar applications. In fact, it's been around for far longer then personal computers have! CSV files are often employed to import data from an application such as MS Excel into a database. The glue that holds the import process together can be any programming language, but, as we'll see here today, there are some very good reasons why PHP is one of the best for this purpose. In today's tutorial, we'll write a PHP script that reads in a CSV file and converts its contents into a multi-dimensional array for insertion into a WordPress database.

Restful Commander
In today’s post we will look at how we can avoid some common pitfalls in API design. The examples will be presented in Ruby on Rails code, but the main takeaways can easily be applied to any decent web framework.

How to Validate Phone Numbers in PHP with the Twilio Lookup API
Twilio Lookup is a phonebook REST API that you can use to check whether a number exists, format international numbers to local standards, determine whether a phone can receive text messages, and even discover information about the carrier associated with that phone number. In this post, we’re going to learn how to deal with valid and invalid numbers using the Twilio PHP library. Whether you need to look up customer numbers in your production Laravel app or just have a basic script you want to run to check numbers in a local database, this code should get you started with validating phone numbers.

Dockerizing a PHP Application
Learn how to leverage Docker’s advantages to easily develop and deploy a PHP application to Heroku, using Semaphore for continuous deployment.

Laravel TestTools
Testing a Laravel application really is an easy task - the "Integrated" package from Jeffrey Way, that later got merged into the core framework, is fantastic and helps you with the otherwise cumbersome task of testing and interacting with your application. But still - are you actually using tests? A lot of times people really love the idea of tests, but simply don't get their asses up to start using them in their own projects. That's why I created a chrome extension that hopefully saves you some time when you need to test your app.

How To Scale Laravel Horizontally With Docker
Docker is basically programmable infrastructure, or more simply: Docker lets you create a server environment for your project from a configuration file. With docker you are always running in the same environment, whether in production, development or testing. As your environment is managed by a file, it is checked into source control giving teams the same consistency across the codebase and even differing versions of the codebase.

How To Make The Most of Symfony on Heroku
We love Symfony. We also love Heroku. If you've been listening to my podcast, Sound of Symfony, you probably know that I have complained a lot about the difficulties of making Symfony and Heroku play nicely together. We've recently launched a client's app on Heroku, and as opposed to our internal apps, where we don't mind if there's downtime or performance issues, this time we did some original research to make it as smooth as possible.

Converting PHP 7 Code to Equivalent PHP 5 Code
In the JavaScript world converting modern code to an older syntax is quite common. In the PHP world you don’t see that happen often. Symfony provides a few polyfills, but a full fledged conversion isn’t available. At the meetup of our local PHP user group Jens Segers, Hannes Van de Vreken and I were toying around with the idea of converting PHP 7 code to equivalent PHP 5 code automatically. Today our little hobby project called 7to5 was tagged 1.0.0. 

Validating and Releasing Packages with Producer
Producer is a pretty neat project that wants you to release higher quality packages. Well, actually (sorry) it’s “a command-line tool to validate, and then release, your PHP library package. It supports Git and Mercurial for version control, as well as Github, Gitlab, and Bitbucket for remote origins.”

Angular 2 Universal Rendering Coming to Symfony and Twig
Angular is a household name when it comes to JavaScript frameworks. They've been going through a major transition since the announcement of Angular 2. In the latest development Angular 2 will be getting PHP / Twig support for isomorphic rendering.

Your First Drupal 8 Migration
Migrate is one of the most established modules in the Drupal ecosystem. So much so that with Drupal 8, a decision has been made to get some of its functionality ported and added to Drupal core. In this article we are going to look at how migration works in Drupal 8 by migrating some content into node entities.

How to Increase Menu Items Limit in Wordpress
Generally, in a Wordpress website, we use a few menu items and their submenus. We can create a menu dynamically through admin Appearance => Menu Section and add the items as per our choice. Sometimes, we need to add more menu items. Suddenly we face a situation that the items we are adding start replacing previously added items. It means we are unable to add more menu items in this case.
News and Announcements

Laravel ElePHPant Now Available From PhpArch
php[architect] is now selling the Laravel ElePHPant plush dolls. They feature the Laravel logo on one side and the PHP logo on the other.

WordPress 4.5 Release Candidate
We’ve made 49 changes since releasing Beta 4 a week ago. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.5 on Tuesday, April 12, but we need your help to get there.

Announcing league/oauth2-server 5.0 RC1
league/oauth2-server version 5.0.0 release candidate 1 has just been tagged! Coming just over a year since the last major release, version 5.0 is a complete code rewrite with significantly simplified interfaces, improved OAuth 2 specification support and JWT support out of the box.

CakeFest The CakePHP Conference - May 26th-29th 2016, Amsterdam
For 2016 we're hosting our annual CakePHP conference in Amsterdam. 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.

Dutch PHP Conference - June 23rd-26th 2016, Amsterdam
Ibuildings is proud to organise the tenth Dutch PHP Conference on June 24th and 25th, plus a pre-conference tutorial day on June 23rd. Both programs will be completely in English so the only Dutch thing about it is the location. Keywords for these days: Know-how, Technology, Best Practices, Networking, Tips & Tricks. Early Bird tickets are on sale now.

Northeast PHP Conference - August 4-5th 2016, Canada
The 5th annual Northeast PHP Conference, focusing on community, is moving to Charlottetown, Prince Edward Island! We have a number of other updates that will be announced in the coming months. Early Bird tickets are on sale.

Laracon EU - August 23rd-24th 2016, Amsterdam
Laracon EU is an international multi-track event focusing on in-depth technical talks, directly tailored to empower you as a Laravel developer. The Call for Papers is open now.


PHP and JavaScript Innovation Award Report March 2016 Edition - December 2015 Nominees
This is the March edition of the Innovation Award podcast hangout, recorded by Manuel Lemos and Arturs Sosins, to comment on the outstanding features of all the past month nominees' and winners' PHP and JavaScript packages, and the prizes that the authors earned, starting with the nominees from the month of December 2015.

dev/hell Podcast Episode 74 - Raise MentalHealthError
In this episode, we were extremely lucky to get Kenneth Reitz on the show to discuss his experiences when he had a mental health event that resulted in a stay in the hospital, and some major life changes as a result. Normally we’re a comedy podcast that focuses on technology, but issues surrounding mental health are very important to us. We’re extremely grateful that Kenneth came on and was very open about what happened to him. We hope you enjoy what was a great, open, freewheeling discussion about how the symptoms of some mental illnesses appear beneficial from the outside.

Voices of the ElePHPant - Interview with Mike Willbanks
This week Cal Evans talks to one of the Midwest PHP Conference organisers, Mike Willbanks.

Full Stack Radio Podcast Episode 38: J.B. Rainsberger - Unit Testability and the Universal Architecture
In this episode, Adam talks to J.B. Rainsberger about how to keep your adapter layer thin, designing unit testable code, and the importance of paying attention to how your code is changing vs. how your code looks today.

Acquia Podcast: So How Was It? Recent Graduates Talk About Acquia U
I spoke with Matt Dooley and Colin Packenham at Acquia headquarters in downtown Boston, about Acquia's tech bootcamp program, Acquia U. Both are career changers and were more or less new to Drupal when they got started with the program, and I was interested to see what motivated them to make the change and dive into Drupal headfirst.

MageTalk Magento Podcast #85 -  “I was gonna drive around Phillip’s Ego but I only had a half tank of gas” (feat Jon Woodall)
The guys sit with Jon Woodall, discuss MageTitans, Phillip's Ego, and much more.

The Five-Minute Geek Show Podcast: Episode 75: Tips On Starting a User Group - Interview with Steven Wade
An interview with Steven Wade, the creator of Upstate PHP.

Laravel News Podcast LN12
In this episode, we talk about the latest Laravel news, including Composer updates, Github relaxing their API limit, and Laravel internals moving to Github issues. Then we talk about a few recent package releases including Katana, Laravel Backup 3, and a new mail preview driver.

The Laracasts Snippets Episode 19 - Does Your Class Name Really Need That Suffix?
What do "PostRepository", "TooManyMembersException" and "StaticallyTriggeredHydratorFactoryInterface" all have in common? The suffix! Are you sure that you really need to tack on the name of the pattern to each class?

Reading and Viewing

From PHP to Machine Code
I recently gave a talk at a few conferences titled “From PHP to Machine Code”. It explains how compilers and interpreters work in general, where are the performance gains to be found and how I applied all of that to build PyHP. PyHP is a little toy project which showcases the basics of taking source code of a programming language and executing it. Here is the video from PHP UK Conference in London.

Victor Welling of Coolblue – e-commerce & tech at Coolblue
Coolblue is a well-known e-commerce company that operates in the Benelux area. Coolblue primarily focuses on consumer electronics, but the types of products still becomes increasingly broader. Over the last couple of years, Coolblue has become one of those companies that everyone loves, both from a consumer perspective as from a more business-like perspective. In this interview, I talk to Victor Welling about the magic formula and the Coolblue claim to fame. We also talk tech, of course.

Jesse Pollak Talks About Securing WordPress
There are very few people who think big about securing the online world. Jesse is one of those who thinks beyond traditional security methods. He came up with a unique application that transformed the current methods for traditional two-factor authentication. His idea allows people to log into websites without requiring passwords. In his interview with Cloudways, Jesse Pollak shared his experience of working on his online security company, and how it is helping to resolve the issues with WordPress Security.

AMA With Taylor Otwell
Laravel creator Taylor Otwell recently did an Ask Me Anything session, taking questions from around the world on any subject you wanted to ask.


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

Easy to use PHP annotations for Yii framework.

A centralised repository for PHP-related brews.

Object oriented stream library for PHP.

A full-scale PHP 5.3.2+ sandbox class that utilises PHP Parser to prevent sandboxed code from running unsafe code.

Silly CLI micro-framework based on Symfony Console.

A template engine using HTML markup for PHP5.4+.

A very user-friendly PHP client for DBaaS.

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+.

Base is a simple database abstraction in PHP. 

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. 

Sage is a WordPress starter theme based on HTML5 Boilerplate, Gulp, Bower, and Bootstrap, that will help you make better themes.

Plum is a data processing pipeline for PHP that helps you to write structured, reusable and well tested data processing code.

Provides an error handler for PHP that can execute a stack of handlers for various purposes.
Please help us by clicking to our sponsor:

 From our sponsors:
Meet JIRA Software JIRA is now redesigned with your software team in mind. Say hello to JIRA Software.

(ads by LaunchBit) 

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 ©