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!

April 28, 2016


Welcome Back PHP Fans.

If you are are running your own mail server for your website, but could do without the hassle, consider using a third party service instead. Take a look at the article on Mandrill alternatives. With Mandrill being closed and accounts moving back into MailChimp we look at the alternatives for transactional email

Also this week, the first of a two parter on looking at contributing to the PHP project, understanding the documentation, learning how to request an account and what to do once that account has been granted.

ZendCon 2016 has been announced, taking place in Vegas this October. If you want to be considered as a presenter, the Call for Papers is open now. 

Plus, we take a look at how to create and edit excel spreadsheets in PHP.

And finally, this week's Acquia Podcast talks about two exciting Drupal 8 projects, one of which is the Module Acceleration Program.

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) 


Mandrill Alternatives for PHP Applications
What would a website be if it couldn’t send emails, even if just for password resets? Running your own mail server is a huge hassle, so many developers instead use a third party service to send transactional emails, like password resets, new user welcome messages and order summaries. One of the most popular services, in part because of their generous free tier, is Mandrill, owned by MailChimp. However, things are changing there. What are the alternatives?

We Are All Biased
If you think that you are special and not biased, you’re not. We are all biased in some way. Before we talk about bias, let’s talk about inference and prejudice.

How to Win a Big PHP ElePHPant Plush Mascott Every Month and Innovation Award Certificates?
Lately the PHP Classes site has been listening to many class authors about improvements that they wanted to see on the site. Some of them would like to be able to buy the elePHPant plush mascot. So, starting this month they will be able to earn an elePHPant for free for participating in the Innovation Award. Other requests that were implemented follow here. The article also shows screenshots of the requested improvements. Learn more about these improvements, and how you can participate in the next new project I am about to start working on.

Introducing ramsey/uuid
It seems quite absurd for me to introduce ramsey/uuid, a library that saw its 1.0.0 release on July 19, 2012, and is now at version 3.4.1, having had 35 releases since its first, but what’s even more ludicrous is that I haven’t once blogged about this library. I mention it only in passing in my “Dates Are Hard” post. So, allow me to introduce you to perhaps a familiar face, an old friend, the ramsey/uuid library for PHP.

Tips for Inheriting An Out-Of-Date WordPress Website
When a new client comes on board, they may bring their current website with them. Only, once you give their site a good checkup, you may find that not much is “current” at all. If it’s running WordPress or another open-source CMS, that could be trouble. Outdated core software, plugins or themes could leave the site vulnerable to attack. And, while it’s easy to say, “Just update it”, that can sometimes bring its own set of challenges. Here are a few tips on what to do when inheriting an outdated WordPress website.

State of Drupal Commerce for Drupal 8
The two biggest players in the Drupal 7 webshop field are Drupal Commerce (also known as DC1) and Übercart. DC1 actually started as an Übercart rewrite to make use of Drupal 7 APIs. After the split Übercart was ported to Drupal 7 too but it was still using Drupal 6 technologies. Although still very much in development, it seems something similar will be true for Drupal 8 as well.

Tutorials and Talks

E-mail Verification in PHP
One of the most common security features during the user registration process is e-mail verification. It is important to create it according to industry best practices in order to avoid potential security risks. Let's discuss these best practices and see how to create e-mail verification in PHP.

Contributing to PHP: How to Contribute to PHP’s Manual
In this two-part article series, we’ll be covering how to contribute to the PHP project. This will hopefully clarify what steps need to be taken for those looking to become more involved with PHP. This first part will be covering how to contribute to PHPs documentation, including how to request a account and what to do once an account has been granted.

Ubuntu 16.04 and PHP 7 Not Rendering
After reloading my working laptop with Ubuntu 16.04 LTS (I prefer to do a reload versus an upgrade, for each LTS version) I was very excited to install PHP 7, and installed Apache2 and PHP7 using the standard Ubuntu repositories. However, after doing the installs, I discovered the PHP scripts would not render in a browser. After a small amount of digging I realised that doing the installs did not include one important piece.

How To Create And Edit Excel Spreadsheets In PHP
PHP is highly enriched with features of a good scripting language. It provides numerous libraries for specific purposes. PHP provides a library to deal with Excel files. It is called PHP Excel library. It enables you to read and write sheets in various formats including csv, xls, ods, and xlsx. You will need to ensure that you have PHP’s upgraded version not older than PHP 5.2 . Moreover, you should have installed extensions php_qd2, php_xml and php_zip.

Tutorial on How to Convert HTML to PDF using PHP
Generating PDF documents programmatically is a pain. A better approach for Web applications is to take the HTML templates and output that we already generate for the site Web pages, and convert it somehow to PDF. Converting HTML to PDF used to be a fairly simple task when HTML was simpler. With new standards based on HTML5, CSS3 and JavaScript, getting the result we want to generate printable documents in PDF from Web applications has become more complicated. Read this article to learn about a simpler solution based on Web services that takes the complication out of your PHP application.

Docker Makes Upgrading to PHP7 Easy
Last year at php[tek] 2015, during the hack time, I messed around and created a Docker image to run and test PHP7. It was surprisingly easy and I quickly learned that the app I was working on at the time ran fine in PHP7, good deal. So since then I’ve been awaiting the general availability release of PHP7 to move forward with upgrading my apps.

New in Symfony 3.1: Forwards and Redirects in the Toolbar and Profiler
The web debug toolbar and the profiler are two of the most used features of Symfony. They provide detailed debug information about the execution of the page you are looking at. In Symfony 3.1 we decided to improve them to display the information about forwards and redirects.

Magento 2 Frontend Customer Force Login Module
The administrative view of Magento 2 forces you to login, but in the website view the visitor can navigate as a guest through the pages. But if you do not wish to allow guest visitors to see your page without registration or a valid login, Magento 2 leaves you on your own. The solution of our Frontend Customer Force Login module is rather simple, listing to some events and redirect to the login page, if the user is not logged in. We have to add some urls to an ignore list, to avoid negative side effects in the administrative backend of Magento 2 and avoid infinity redirect loops.

MySQL 5.7 Introduces a JSON Data Type
There's a new JSON data type available in MySQL 5.7 that I've been playing with. I wanted to share some examples of when it's useful to have JSON data in your MySQL database and how to work with the new data types (not least so I can refer back to them later!)

Unit Testing with Swift PM
As I tend to work with Swift on Linux, I've been working out how to unit test using the Swift Package manager. This article is my way of remembering what I've learnt so far! Let's do this in the context of writing a Todo entity from the Todo-Backend project.

How to Create a Slack Interface for Your PHP Application
If you've been following the development of office communication tools in the past year or so, I'm sure you've heard plenty about Slack. On the surface level, Slack is just another chat application designed for businesses, but because of its attention to detail and its extensibility, many commentators are already saying that the tool will dramatically change how we work in the future. In this tutorial, you will learn how to get started with integrating your PHP application to Slack

Easy Multi-Language Twig Apps with Gettext
There are many approaches for adding new languages to your application’s UI. Though some userland solutions like symfony/translation are arguably simpler to use, they’re slower than the good old native gettext by an order of several magnitudes. In this tutorial, we’ll modify an English-only application to use gettext. Through this, we’ll demonstrate that getting internationalisation up and running in an already existing app is not only possible, but relatively easy.
News and Announcements

PHP 7 with Microsoft SQL Server Driver Released
Microsoft announced, on 12th April 2016, an early technical preview of the Microsoft Driver 4.0.3 for PHP for SQL Server. Using this driver you can connect your PHP application with Microsoft SQL Server, currently this server is available only for PHP 7. This Driver enables you to access SQL Server, Azure SQL Database and Azure SQL DW from your PHP 7 apps.

league/oauth2-server Version 5.0 Is Out!
Coming just over a year since the last major release, version 5.0 is a complete code rewrite with many improvements.

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.

Bulgaria PHP Conference - Oct 7-9th 2016, Sofia
Our core purpose with Bulgaria PHP Conference is to provide uncompromisable quality of content and strengthen the broader European PHP Community. But we also want to have a lot of fun along the way - us and our partners and attendees. So, Game ON! Tickets are on sale now.

ZendCon - Oct 18th-21st 2016, Las Vegas
We’re pleased to announce the ZendCon 2016 PHP Conference, the most anticipated PHP centric event of the year, where community and enterprise PHP developers from around the world gather to share and learn the latest hot trends and technologies in today's professional PHP development. The Call for Papers is open now.

Laracon - 27-29th July 2016, Louisville
Three days of learning, growing and mingling with the Laravel community. It might just be the biggest Laracon yet. Tickets are on sale now with further details to follow.


PHP and JavaScript Innovation Award Report April 2016 Edition - January 2016 nominees
This is the April 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 January 2016. Listen to the podcast, or watch the hangout video to learn why the nominated packages were considered to be innovative, as well the current rankings of the Innovation Award Championship by author and by country.

Voices of the ElePHPant - Interview with Mark Story
This week Cal Evans talks to Cake PHP developer Mark Story.

Three Devs and a Maybe Podcast - Depending on The Stats
In this weeks episode Edd and Lew start off their discussion with the topic of relying on external dependencies within a project - explaining issues surrounding this practice and mitigating problems that may arise. We then move on to chat about getting away from build systems, such as Gulp, by writing your own simple build scripts which are project specific. From here Edd mentions a simple game he created to explore using State vs. Props in React, and how interesting solutions to some-what simple problems develop overtime. Finally, we delve into more PostgreSQL discussion and the world of statistics, highlighting the differences between cohort and time-based analysis.

LaraChat Live - Episode #6
The sixth episode from the Slack Channel devoted to learning about Laravel.

Acquia Podcast - Talking Drupal 8: Lightning Distribution and Module Acceleration Program
John Kennedy and I spoke about two exciting Drupal 8 projects he's running at Acquia in 2016. He's the Program Manager of the $500,000 US dollars Acquia is investing to upgrade important modules from Drupal 7 to 8 as part of the Drupal 8 Module Acceleration Program. He's also the Product Manager of Acquia's Enterprise Authoring Drupal 8 distribution.

MageTalk Magento Podcast #89 - Is Magento 2 too “Enterprisey”? (feat. Paul Boisvert and Alan Kent)
The guys sit down with Paul Boisvert and Alan Kent of Magento to discuss Magento's strategic vision and its platform goals for 2016 and beyond.

Laravel News Podcast LN 14 - Laravel Spark
This week Taylor Otwell joins us to talk all about Spark!

The Laracasts Snippets Episode 22 - It All Goes Back to a Single Assumption...That Could Be Wrong
The vocal consensus in the PHP community seems to be that, unless a class is perfectly unit-testable in isolation, it's inherently poor code - and in need of refactoring. But are we sure this is true? Let's talk about it.

Zend Framework Quick Bites Episode 7 - Zend Expressive’s Default Router - FastRoute
In this episode, I’m giving a quick overview of Zend Expressive’s default routing package - FastRoute. FastRoute, as the documentation says, provides a fast implementation of a regular expression based router. Written by Nikita Popov, or nikic on Twitter and GitHub, it’s both a simple and uncomplicated, yet extremely fast and highly performant routing package. It's one worthy of being the default routing package for the Zend Expressive standalone installer.

Reading and Viewing

Peter Jaap Blaakmeer Talks About His Career, Developers Paradise And Magento Development
Peter Jaap Blaakmeer is a hardworking Entrepreneur, and a skilled Magento Developer, with a lot of knowledge about E-commerce and Magento. Through his efficient work style and communication skills, he always amazes people and produces quick results. Peter Jaap is always ready to deliver his sincere opinion. He is a social, enthusiastic and enterprising person.

Creating the Creation Caching Website Paperback (by Paul F Taylor, published 22nd Jan 2016)
The Creation Caching website was a major project for Paul Taylor’s web development agency - Old Castle Web Solutions. It involved writing two new plugins and two new themes for a Wordpress installation. This book is the story of how these technologies were put together, to achieve the website. 

PHP Web Services: APIs for the Modern Web Paperback (by Lorna Jane Mitchell, published 25th Jan 2016)
Whether you’re sharing data between two internal systems or building an API so users can access their data, this practical book provides everything you need to build web service APIs with PHP. Author Lorna Jane Mitchell uses code samples, real-world examples, and advice based on her extensive experience to guide you through the process - from the underlying theory to methods for making your service robust.

Mastering CentOS 7 Linux Server Paperback (by Mohamed Alibi and Bhaskarjyoti Roy, published 29th Jan 2016)
If you are a Linux system administrator with an intermediate administration level, this is your opportunity to master the brand new distribution of CentOS. If you wish to possess a fully sustainable Linux server, with all its new tools and tweaks, that serves a variety of services to your users and customers, this book is ideal for you. It is your ticket to easily adapt to all the changes made in the latest shift.


PHP Developer - Bicester Yellow Shed
An exciting opportunity for a developer in the UK at Webmart in Bicester. Webmart was born in 1996, formed to help people get more out of every type of print – from direct mail and in-store point of sale, to catalogues, leaflets and brochures. Our current clients include Microsoft, Marshall Amps, Firebox and Barnardo’s. Because we’re a Marxist-capitalist business, profits are shared with employees (after two years’ service) and work perks include free ironing, bike-to-work scheme and cheeky wind-down drink on Friday afternoons (yay!). Dress code is casual.

Ecommerce / PHP Web Developer - Leeds, UK
We are a creative agency, specialising in e-commerce, working with a range of online retailers both large and small. We are looking for a developer to join our close knit team building high performing e-commerce websites. Ideally you’ll have several years experience of PHP and the LAMP stack and experience of e-commerce platforms; in particular Magento. Experience of frameworks such as Zend would be an advantage, but not essential. As a member of our team you'd be working on a mix of large projects, smaller projects and day-to-day client support and site administration. Salary is negotiable and we are keen to attract the brightest and best.

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 collection of our critical PHP tools.

CliTools for Docker, PHP and MySQL development.

Async sockets is the library for asynchronous work with sockets based on PHP streams.

A petite library of encryption functionality for PHP.

A twitter library in PHP.

Very simple Flash messages for PHP projects.

Eris is a porting of QuickCheck and property-based testing tools to the PHP and PHPUnit ecosystem.

A free open source IT asset/license management system built in PHP on Laravel 4.2 and Bootstrap 3.

Serendipity is a PHP-powered weblog application which gives the user an easy way to maintain an online diary, weblog or even a complete homepage.

Sylius is an open source e-commerce solution for PHP, based on the Symfony2 framework.

A lightweight, expressive, framework agnostic query builder for PHP, that can also be referred as a Database Abstraction Layer.

The ultimate tool to manage PHP applications in virtual machines, Jarvis is designed to assist you in developing Symfony applications, by defining common tasks you run on your remote servers.

Jimdo PHP library extraction of messaging component.

Small extensible framework in PHP.

Brush is a complete object-oriented PHP wrapper for the Pastebin API.

Tiny library to handle words case transformation.
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 ©