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!

June 4, 2015

Hello to the PHP community, and thanks for joining us this week.

After last month's successful announcement of Radar, the majority of feedback has been positive. There has been some confusion, however, in one area in particular. Paul Jones' article explains.

Also this week we have the next in the Programming with Yii2 series, this week looking at sluggable behaviour.

We have an article about Hack's latest two features, looking at how they work and why they were added.

Plus the latest PHP Round Table podcast looks at the journey of a new web app, from idea to production.

Finally, in an exclusive for PHP Weekly readers only, we bring you a discounted purchase price for the new book Clean Architecture in PHP by Krisopher Wilson.

If you would like to see one of your tutorials, projects, books - or anything else PHP related that you feel would be of interest to the PHP community - featured in your favourite weekly newsletter, please drop me a line on [email protected].

Katie and Ade

From our sponsors:

 From our sponsors:
The Power of Three 97% of developers will fail you. We are the other 3%. Get access to power.
(Sponsor this newsletter


Drupal is Still a Gated Community
One of the things the Drupal community prides itself on is how open the community is. While that is generally true, there is one exception - Project Applications. That's the place to post applications for the ability to create full projects, and it's not uncommon to wait several months for a response. 

A Short Tour of PHP
When it was created, how it originated, generally the good, bad and ugly of PHP.

7 Mobile UX Mistakes You’re Probably Making Right Now
Making changes on mobile UX can be a tricky process, especially if you come from a web background. In mobile, developers have more constraints, including screen real estate, attention times, and UI control limitations. Improving the mobile experience is always a learning process full of trial and error, so this list will get you on the right track by helping you steer clear of common pitfalls.

Radar: Answering Questions, and New Middleware
Last month’s announcement of Radar, an implementation of Action-Domain-Responder using PSR-7, was a resounding success. The feedback has been mostly positive, but there has been some confusion and misunderstanding, with one particular question being raised more than once.

Tutorials and Talks

CRUD (Create Read Update Delete) in a Laravel App
In the previous part, we’ve bootstrapped our Laravel CRUD application by creating the database, some controllers, basic routes and simple views. In this part, we’ll wrap things up and implement proper CRUD.

Programming With Yii2: Sluggable Behaviour
In this Programming With Yii2 series, I'm guiding readers in the use of the newly upgraded Yii2 Framework for PHP. In this tutorial, I'm going to show you how to modify Yii's default view URL routes for model objects to be more user friendly, and search engine friendly. Yii provides built-in support for this via its sluggable behaviours.

PHP Multi-Factor Authentication for Web Development
When we need to provide our users with access to certain information, or limit access to features for authorised users only, we need to use user authentication. We can never be 100% certain users are who they claim to be. However, we can get close using multiple authentication factors. Read this article to learn more.

Why I Love Composer, a PHP Dependency Management Tool
This article will help you incorporate third-party libraries into a project by using Composer. In this post, we’ll create a test PHP project and run test cases using phpunit.

Redirecting to HTTPS in Laravel 5
These days it’s pretty standard for a web application to include some level of user account integration. In order to protect the passage of account details such as the e-mail address and password, not to mention even more sensitive information such as credit card details, between the user’s computer and the application server, you’re going to want to encrypt the communications using SSL. There are actually a couple of different ways you can force SSL in conjunction with a Laravel application, but possibly the easiest approach involves updating the default .htaccess file included with every Laravel application. 

Building Custom Login and Registration Pages in WordPress
WordPress started life as a blog engine, web software for creating blogs. Over the years, it has evolved into a content management system (CMS). In this tutorial, we’ll learn how to build custom WordPress login, registration and password reset pages with a plugin I’ve developed called ProfilePress, all without writing a single line of PHP code. 

Create a Google Maps Alternative with PHP and MySQL Using the Leaflet Library
Leaflet is a JavaScript library that became popular for creating mobile friendly Web maps applications. It does not depend on Google, so you do not need to pay fees as you may need to when you use Google Maps. Read this tutorial to learn how to use Leaflet library with PHP and MySQL to create an alternative to Google Maps, and implement it on your site.

Pagination with jQuery, AJAX and PHP
In this article, we’re going to explain how easy it is to paginate your data set using PHP and AJAX via jQuery. We’re also going to use the Silex framework for simplicity.

Covariance, Contravariance, and Super Type Constraints
Hack has recently enhanced its generics with two features: variance annotations and super type constraints. This post will explain how they work and why they were added.
News and Announcements

PHP Surrey - A New PHP User Group is Born
A new community driven PHP usergroup in the heart of Surrey (UK) with monthly meetups, featuring a range of speakers.

sabre/dav 3.0 released!
Evert Pot announced this week the released version 3.0 of sabre/dav WebDAV/CalDAV/CardDAV server, replacing all the XML-handling code with sabre/xml.

php[world] 2015 Call for Speakers
The php[world] conference takes place in Washington, on November 16th this year. The Call for Papers is currently open, but only for the next couple of days, so be quick!

Dutch PHP Conference - 25-27th June 2015, Amsterdam
The target audience for this conference is PHP and Mobile Web Developers of all levels, software architects, and even managers. Beginners will find many talks aimed at helping them become better developers, while more experienced developers will come away inspired to do even better, armed with knowledge about the latest tools and methodologies. The last few tickets are still available.

International PHP Conference Spring Edition - June 7-10th 2015, Berlin
The International PHP Conference was 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. The last few tickets are still available.

PHP Craft - 1st-2nd October 2015, Johannesburg
Two days of talks delivered by some experienced international and local speakers, plus a day of workshops. The Call for Papers is now open.

Nomad PHP US - June 18th 2015 20:00 CDT
Building PHP Daemons and Long Running Processes, presented by Tim Lytle. There are things you don’t want to, or can’t, do inside a web request. It could be a task that needs to be retired if it fails, maybe one that takes a significantly long time to process, or multiple jobs that need to be processed over time. Whether you’re sending an email, processing a video, or consuming Twitter’s streaming API, you should be using a separate process, and probably a daemon. Learn how to stop abusing cron, and easily daemonise a PHP script that responds responsibly to process signals.

Nomad PHP EU - June 18th 2015 20:00 CEST
Getting Started with Aura, by Chris Tankersley. PHP has come a long way since it’s inception. What started out as an ecosystem of functions passed around on the internet eventually turned into a land of frameworks. These first frameworks were saddled with the problem of size, where if you wanted to use part of Zend Framework 1, for example, in your app, you pulled in the entire thing. Those days are gone now and frameworks are increasingly decoupled, but none so much as the Aura project. We’ll dive into what Aura is and how we can use it as standalone libraries as well as for full stack development.


Laravel IO Podcast: Episode 28 - Documentation, JavaScript, & Conspiracy Theories
In this episode, the crew discusses recent improvements to the Laravel documentation, Vue.js, ECMAScript 6, and a few conspiracy theories.

Voices of the ElePHPant - Interview with Jeremy Lindblom
This week Cal Evans interviews Amazon Software Engineer, and co-organiser of PNWPHP, Jeremy Lindblom.

Three Devs and a Maybe Podcast - Easy Like Sunday Morning
This week on an early Sunday morning recording, we start off our podcast discussion with A/B testing and Google Analytics/Experiments. We then move on to touch upon distributing PHP console applications within PHARs, application security and Google's recent IO conference. Following this we bring up a couple of small projects Edd is currently working on, relating to Morse Code and Colour detection algorithms. Finally, we wrap up the show by discussing the current Space Beer Cave competition that is still underway, and how one contestant is running away with the prize at this time.

The Loosely Coupled Podcast: Episode 21 - Open Sourcing Libraries and Packages
In this episode Jeff and Matt discuss what it means when you take the step to open sourcing your package or library. This is significantly different to working on an application, and the goal of this episode is to talk about what you’re getting yourself into as a package maintainer.

Acquia Podcast: Karma and The Journey from Consumption to Contribution - Drupal in India
At Drupal Camp London 2015, I spoke with Piyush Poddar, Director of Drupal Practice at Axelerant. We talked about Piyush's history in Drupal, Drupal as a business-ready solution, India's coming of age in open source culture, and how that is driving business value.

MageTalk Magento Podcast #43 - The Mage Running Person of Karma Runnin’
The guys rap about, bitcoin, and more.

Run Geek Radio Podcast: Episode #4 - Standing Desk, Headphones, and Firing Bad Customers
Adam Culp speaks about his new Varidesk standing desk and launches a giveaway of a Varidesk. He also covers some of the reasons a developer may want to stand while working, and the benefits of standing while working. Plus he gives some hints and tips related to introducing the use of a standing desk into your daily habits.

PHP Round Table Podcast Episode 21 - From Idea To Production: Part 1
We discuss an idea for a web app and identify ways to turn it into a real-life product on the web. We start with describing the domain and the problems the app should solve. Then we identify the personas that will interact with the app. We discuss the features the app should have to fix the problems and we sort all the features by priority. Finally we talk about timeline, deliverables and next steps.

Reading and Viewing

Clean Architecture in PHP (by Kristopher Wilson)
In this book, we cover the Clean Architecture, coined by Uncle Bob, and how to implement it in PHP, as well as the concepts of SOLID design, various design patterns, and a look at various architectures. Exclusively for readers of we are offering the book at a discounted rate of $9.99!

Writing Faster PHP with HHVM and Hack
View Davey Shafik's presentation slides from the PHPDAY conference in Italy, last month.

The Ternary Operator in PHP
The ternary operator allows us to simplify some PHP conditional statements. In this video we'll see how it can be used, with test-driven development and refactoring, to simplify code.

PHP Try Catch Error Handling
How do you PHP try catch blocks to efficiently handle errors? Watch this video to find the answer.

Raspberry Pi 2: Basic User Guide for Projects, Operating System, and Programming (by Clifford Johnson, published 3rd May 2015)
This single-chip computer is unlike anything we know. We are used to being given a simple box computer which we only have to plug in and press a single button. Raspberry Pi 2 can help you to really learn how computers work, and open your eyes to the exciting world of computer science.


To post a job advert please contact [email protected]

Interesting Projects, Tools and Libraries

PHP Universal Database Library - connects to and generates queries for SQL Servers

This library is an oop-wrapper for the ansible provisioning tool.

Steward is set of libraries made to simplify writing and running robust functional system tests in PHPUnit using Selenium WebDriver.

Bart is a PHP project. It originally began its life as a collection of Build and Release Tools used internally at Box. Over time, it's grown into a collection of critical pieces of our PHP frameworks.

The AXEL-PHP library wraps around the C based Axel library. Axel performs accelerated downloads from the command line, similar to wget.

CMS based on Phalcon PHP Framework with modular structure.

A PHP trait to search laravel models.

A library of essential encryption functions for PHP.

Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services. 

Easy value objects and entities for PHP 5.4+.

Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.4.

Automated Deployment for PHP Apps, implementing everything as code, for Pharaoh Tools.

CosCMS is a simple modular framework for building web applications.

A social networking engine in PHP/MySQL.

An SMS component for PHP applications.

A stand-alone PHP library to connect the Affirm API.

Caridea is a miniscule PHP web application library. This shrimpy fellow is what you'd use when you just want some helping hands and not a full-blown framework.

Simple PHP-webdriver wrapper for automated acceptance tests.
Please help us by clicking to our sponsor:

 From our sponsors:
The Power of Three 97% of developers will fail you. We are the other 3%. Get access to power.
(Sponsor this newsletter

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 ©