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

Hi PHP fans, and thanks for joining us this week.

Pádraic Brady shares his thoughts on the proposed PHP Code of Conduct. Be sure to read through to the comments section for some pretty heated discussion on the subject...... Let us know what you think also as we're curious :)

Also this week, Lorna Mitchell advises how to upgrade to better passwords.

Cal Evans talks to Taylor Lovett in his Voices of the ElePHPant interview.

Plus the NomadPHP team brings us a lightning talk from Matt Cockayne, outlining similarities between the scouting world and the developer world.

And finally, the PHP UK conference takes place next month, in the heart of London. Two days of talks by some of the most well known speakers in the world, and three social events. Tickets are on sale now.

Have a great weekend,

Katie and Ade

We love our sponsors. Why not try them?


 From our sponsors:

Build real-time apps. Syncano. Database. Backend. Middleware. Real-time. Support. Start for free!

(ads by LaunchBit) 


More PHP Code Of Conduct Thoughts
In a previous post, I summarised and made some observations about the draft RFC for a PHP Code of Conduct. Just to clarify, this would apply to the PHP Project (i.e. Internals). It’s obviously not being imposed on the bazillion PHP programmers that make up the wider community. However, I found myself then troubled by some of the opposing views. So I’m back again. I’ve burnished the pulpit, double checked the mic, and adjusted the soapbox height. Let loose the meandering long winded thoughts!

Drupal: 15 Years Old and Still Gaining Momentum
On December 29, 2000, I made a code commit that would change my life; it is in this commit that I called my project "Drupal" and added the GPL license to it. See how far it has come 15yrs later.

17 Ecommerce Conversion Boosters: Learn How to Optimise Your Store
The times of yielding easy profits online are gone for good. To make a name online nowadays, it’s not enough anymore to keep products accessible in the virtual space. ECommerce is a science with its own laws and principles. And you must adhere to them if you want to master it. Today, we’d like to present an Infographic of 17 eCommerce Conversion Boosters. With its help, you can learn a lot of tips that you must follow in order to build a highly converting eCommerce site.

Top 10 Web Development Courses on Udemy
This is John Morris' list of the top 10 web development courses on Udemy. His reviews are based on his experience with the course and his 10+ years experience as a web developer.

Tutorials and Talks

Magento Theme Development: Category Page, Part 2
In the previous article on category pages, we edited the toolbar, grid and list layout. In this second article on customising the category page, we'll customise the sidebar and do some CSS fixes.

Middleware Groups in Laravel 5.2
When you are creating a site of any significant size in Laravel, your routes file will often get pretty large. One of the first things I do in a new site is group my routes by logically distinct sections, like "admin", "auth", or "public". Usually each of these groups get their own set of middleware - admin, for example, gets auth. Maybe the API group gets a different auth middleware, and it might get an API-specific rate limiter or something else. Laravel 5.2 has introduced something called middleware groups, which are essentially a shortcut to applying a larger group of middleware, using a single key.

PHP Arrays - Associative Arrays or Hash Maps
Associative array or hash maps are listings of key and value pairs with a possibility to nest additional keys and values. An associative array is a very powerful construct within PHP. In our previous article we discussed simple arrays, which, in their turn, are indexed associative arrays under the hood.

The Beginners Guide to WooCommerce: Order Reports - Part 3
The first tab of reports in WooCommerce is for the "Orders" which an online store owner receives during a particular duration of time. This section is further divided into four sub-sections which provides a store owner with more and well refined filtered results. Of these four, I discussed the first two sub-sections (i.e. Sales by date & Sales by product) in my last two articles. So today, I will explain the details and functioning of the third part of Order reports, which is Sales by category. 

Using Doctrine, ramsey/uuid-doctrine and willdurand/hateoas
Recently I experimented a bit with Doctrine ORM and the willdurand/Hateoas library to expose my Doctrine objects via an HATEOAS api which, luckily, is a fairly trivial thing to do. All you need to do is set up the Hateoas serialiser and call the respective serialise() method passing your Doctrine object as well the serialisation type. The downside of this approach is that we currently expose our autoincrement database identifiers to the caller, which is never a good idea. Luckily the ramsey/uuid-doctrine package offers a Uuid datatype for Doctrine.

Having A Go at Creating a Behat 3 Extension
Antonios Pavlakis looks into creating custom extensions for the testing tool Behat.

Upgrade To Better Passwords in PHP
The password features in PHP aren't exactly new, but I see lots of applications from "before" which aren't being migrated to better practices. I have some strategies for doing these migrations so I thought I'd share my main approach, plus a similar-but-different one I saw in the wild (OK it was in CakePHP, so not too wild!).

Proxying with PHP in Ubuntu 14.04 (Apache 2.4, PHP 5.4+)
I’ve just had to evade a Russian block of one of my employer’s sites, let’s call it CasinoX. Presumably they had blocked both and’s IP address (which is a Cloud Flare IP btw). Simply pointing to the real IP address of’s server was a not a viable solution though, as that would expose the real IP publicly, which is a no-go in the online casino business as it is basically an invitation to be DDoS’ed.

Strict Typing in PHP 7 - Poll Results
I maintain a number of PHP packages and, with the release of PHP 7, I've been starting to wonder when is a good time to switch. It's a hard decision, and I haven't quite made one yet, but really the PHP 7 killer features are its new argument type declarations and return type declarations.

Setting up PHP 7 Servers with Laravel Forge and DigitalOcean
One of the most popular requests in our end-year reader-satisfaction survey was more PHP 7 content. In this quick guide, we’ll cover two ways to bring a PHP 7 server online on DigitalOcean – a popular VPS provider. We’ll use two approaches, the latter of which will be applicable to any Ubuntu installation, whereas the former will only work on DigitalOcean. If you don’t have a DigitalOcean account but would like to follow along, feel free to grab two free months via this ref code.

Improving PHP Site Speed Generating Sprites and CSS to Render Images
As Web sites grow they tend to use many images for representing icons, logos and other types of common images. This often leads to delays in loading pages because loading the necessary images requires additional HTTP requests. An alternative to reduce the number of requests to load the page images is to use sprites images and CSS to load many images at once. Read this article to learn more about CSS sprites and how you can use them in your PHP sites to improve their page loading speed, using the picStylizer package.

Complete User Authentication for Laravel Applications 
A few months ago, we released an Authentication Driver for Laravel that allows you to use the Auth Facade. Recently, we updated this to a full integration with views already set up for you in our Laravel Authentication package. With this package, we have enabled the basic user workflows for you. Login, Logout, Forgot Password and Change Password workflows are pre-built and easy to turn on and off. 

WordPress and Laravel
WordPress is one of the most popular open source applications, and that means many people are comfortable using its admin to manage their site. There are times when building out a site that this is advantageous, as it prevents you from having to retrain the user on how to manage content, menus, photos, and more. A popular way of setting up a site like this is to use WordPress as the admin, and then build out the frontend in a framework such as Laravel. Let’s take a look some packages that make working with WordPress easy.
News and Announcements

PHP UK Conference - 18-19th February 2016, London
With over 700 delegates, speakers, and sponsors, PHP UK conference aims to deliver fantastic up-to-date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss. Tickets are on sale now.

Sunshine PHP Conference - February 4-6th 2016, Miami
The SunshinePHP Developer Conference is hosted by the South Florida PHP Community (SoFloPHP) in Miami, Florida from February 4th - 6th, 2016, and you're invited! We'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP. And don't forget our Hack-a-thon and Uncon'ference, as well as a great hallway track and fun social events! Tickets are on sale now.

DrupalCon Asia - February 18th-21st 2016, Mumbai
DrupalCon Asia is an action-packed conference of all things Drupal and features a full schedule of educational, networking and contribution opportunities. Fifty sessions have been chosen by the Track Chairs, and tickets are on sale now.

Nomad PHP US - February 18th 2016 20:00 CST
From Idea to Prototype in 50 Minutes with Laravel, presented by Matt Stauffer. Most developers can’t stop coming up with great ideas for products and packages. But the time and effort it takes to go from great idea to working prototype can often keep us from ever getting started. Laravel provides a set of easy-to-use tools that minimise the pain of taking our apps from idea to reality. In this talk we’ll take an idea for a simple SaaS startup, spin up a new Laravel project, create a prototype, and get it hosted on Forge and online in no time at all. We’ll cover the basics of each piece of the Laravel ecosystem, and touch on frontend and backend development, server management, and rapid application development. By the end of the talk, each attendee will be equipped to take their ideas from first concept to prototype using Laravel, Elixir, Homestead, Forge, and more.

Nomad PHP EU - February 18th 2016 20:00 CET
The Life of an If Statement, presented by Anthony Ferrara. The humble if statement: so simple, so short, so trivial. But do you know how it works? I mean, how it -really- works? Join us on a trip down the rabbit hole to find out! Our journey will take us from PHP to C, from Assembly to Machine code, from CPU to Transistor, and beyond. We’ll discover all sorts of interesting things you many never have known about programming, physics and even the universe itself… I can’t promise that you’ll return from the depths of the CPU, but if you do, you will not be the same.


Voices of the ElePHPant - Interview with Taylor Lovett
This week Cal Evans chats with 10up's web engineering director Taylor Lovett.

Acquia Podcast - What The Geeks Got Right - #HROS - Ambrosia Vertesi Part 2 of 2
Ambrosia Vertesti, Global VP Human Resources at Hootsuite, and I sat down to talk about how open source models are spreading to human resources and other, non-code parts of business today. In part one, I strove to understand HR's needs, terminology and perspective, and what drew Ambrosia and her peers to open source. In part two, our conversation moves on to how open source values like sharing and contribution are helping human resources and a lot more about #HROS.

MageTalk Magento Podcast #75 - New Year's Resolutions
The guys talk New Year's Resolutions. Phillip's favourite is 1600x1080.

PHP and JavaScript Innovation Award Report January 2016 Edition - October 2015 Nominees
This is the January 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 October 2015.

Reading and Viewing

Test Driven Laravel from Scratch
I gave a presentation at ZendCon last year called “Test Driven Laravel”, where I walked through building out a feature in a brand new Laravel application using TDD. The talk wasn’t recorded, so I decided to put together a condensed screencast of the same material and share it with you here.

Are You a Good Code Scout? Presented by Matt Cockayne
Scouts are taught to be adventurous, considerate, thoughtful, effective, diligent, ingenious, thorough, earnest and effective! All of these qualities are ones that we should be striving for as a Developer. I will prove that being a Good Scout and being a Great developer are the same thing. I’ll take you through the actions and attitudes taught to millions of kids aged 7-18, and how you can apply those practices to what you do in your code.

How to Pick the Best the Best Colour Scheme For Your Website
In this episode of the John Morris Show, my big thank you to you, inside CES, how to overcome fear and be aggressive with your career, colour theory and my process for picking a websites colours and more.

Cloudways Interview - Co-Founder Of PHPwomen, Ligaya Turmelle Talks About PHP, MySQL And PHPTek
Ligaya Turmelle is a MySQL support engineer at Oracle and a co-founder of  PHPwomen. She has also attended Oracle conferences as a speaker. In this interview, she shares her experience as a speaker and has also offered her advice on creating a schema of a database and deploying it.
If you have a question about Drupal, this is the book with the answers. Drupal: Questions and Answers takes some of the best questions and answers asked on the website.


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 low-level router class for PHP based on CodeIgniters core/Router.php.

Soy is a PHP task runner focused on clean syntax and allowing flexible implementation.

PHP client for Stream.

A PHP engine to manage web-services easily.

Exchange rates library for PHP 5.3+.

Self-hosted pastebin software written in PHP. Pastes are editable, forkable, may have multiple files and are stored in git repositories.

A simple, low-level PHP extension for libsodium.

Better Reflection is a reflection API that aims to improve and provide more features than PHPs built-in reflection API.

A simple but powerful PHP library for talking to CouchDB.

A configurable and extensible PHP web spider.

The highly extensible, highly enjoyable, PHP testing framework.

A key/value database store using flat files for PHP.

Implementation of the Specification pattern and logical expressions for PHP.

A feature detection library for PHP code that needs to run in multiple different environments.

An ultra-simple-to-use assets management library for PHP.

A deployment tool for PHP.

A PHP proxy script with https and post support.

Rapid API development framework for PHP.
Please help us by clicking to our sponsor:

 From our sponsors:
Build real-time apps. Syncano. Database. Backend. Middleware. Real-time. Support. Start for free!

(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 ©