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 11, 2015

Happy 20th Birthday PHP!

Twenty years ago this week, Rasmus Lerdorf released Personal Home Page Tools (PHP Tools) version 1.0 to the world. Can you remember your first encounter with PHP? Ben Ramsey has asked the PHP community to blog about their stories and experiences, and then post them to twitter - #20yearsofphp. We'd also like to hear your stories about how you started with PHP and especially from anyone where it has changed your life (for the better of course!!)

Also this week, the HHVM team concluded its first ever open source performance lockdown. Here they share the results of this two week lockdown.

Continuing with the Programming With Yii2 series, the latest tutorial looks at Blameable Behaviours.

Plus, the PHP Barcelona Conference has been announced for the end of October. The Call for Papers is now open, until September.

The Lately in PHP Podcast team has released the June edition of the Innovation Award podcast, commenting on the outstanding features of all the past month nominees and winners' PHP and JavaScript packages, starting with the nominees from the month of March 2015.

And finally, this months php[architect] issue on APIs has been released and is FREE to download!

Have a great weekend,

Katie and Ade

From our sponsors:

 From our sponsors:
Protect Your Uptime Reliability is your mission. It's ours too. Deliver operations visibility and improved resolution times with PagerDuty. Sign up for a free trial.
(Sponsor this newsletter


20 Years of PHP
Twenty years ago this week, Rasmus Lerdorf released Personal Home Page Tools.

PHPUnit 4.7 and Three Shades of Green
PHPUnit 4.7 introduces a couple of small improvements. For instance, PHPUnit's PHPT test runner now supports --INI-- sections, information about the PHP runtime used is now printed in verbose mode, and a warning is now printed when code coverage data is collected but no whitelist is configured.

Re-introducing Vagrant: The Right Way to Start with PHP
I often get asked to recommend beginner resources for people new to PHP. And, it’s true, we don’t have many truly newbie friendly ones. I’d like to change that by first talking about the basics of environment configuration. In this post, you’ll learn about the very first thing you should do before starting to work with PHP (or any other language, for that matter). We’ll be re-introducing Vagrant powered development.

7 Reasons to Use A PHP Engine For Your Webpage
A PHP template engine comes in handy for projects that involve work of developers and designers. 

A Drupal 8 Security Bug Bounty Program: Get Paid to Find Security Issues in D8
Drupal 8 is nearing release, and with all the big architectural changes it brings, we want to ensure D8 upholds the same level of security as our previous releases. That's where you come in! The security team is using monies from the D8 Accelerate fund to pay for valid security issues found in Drupal 8, from now until August 31, 2015 (open to extension). This program is open for participation by anyone.

Lockdown Results and HHVM Performance
The HHVM team has concluded its first ever open source performance lockdown, and we’re very excited to share the results with you. During our two week lockdown, we’ve made strides optimising built-in functions, dynamic properties, string concatenation, and the file cache. In addition to improving HHVM, we also looked for places in the open source frameworks where we could contribute patches that would benefit all engines. Our efforts centered around maximising requests per second (RPS) with WordPress, Drupal 7, and MediaWiki, using our loss-performance benchmarking tool.

Tutorials and Talks

Class Abstraction in PHP
When you are ready to share your code for other class developers to use, you will need to control how that code is used, and provide some way to enable updates. Read this tutorial to learn how to use class abstraction with closely related objects, to provide greater control over your PHP code, so it facilitates future updates.

Style Posts by Category on Your Main Blog Page
Large news-based sites sometimes use some sort of styling to differentiate between the sections of their site. Often this takes the form of different colours for each section. Using styling for the sections of your site like this can make your home page more engaging and help visitors to find content in categories that they regularly read. In this tutorial I'll show you how to target styles provided by WordPress to do just this, styling the posts on your main blog page by category.

PHP Authorisation with JWT (JSON Web Tokens)
If you like computer security topics, you will know that one of the most discussed and controversial topics is user authentication. Within its context, you will find a broad range of study areas, from new mechanisms to usability. It is, thus, to my surprise that JSON Web Tokens is a topic not often talked about, and I think it deserves to be in the spotlight today. We will see how easy it is to integrate it in an API authentication mechanism.

Using the Digital Ocean API to Manage Cloud Instances
Digital Ocean is one of the fastest growing web hosts, in part due to its fast SSD-based servers and inexpensive $5 monthly hosting plans. Spinning up instances on Digital Ocean for testing or long-term use is fast, easy and affordable.

Real-time Apps with Laravel 5.1 and Event Broadcasting
In Laravel 5.1, the framework includes functionality called broadcasting events that makes it easy to create real-time apps in PHP. With this new functionality, an app can publish events to various cloud-based real-time PubSub solutions, like Pusher, or to Redis. In this article, we examine a simple todo app and turn it into a real-time app using Laravel’s broadcasting events.

Programming With Yii2: Blameable Behaviours
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'll guide you through another of Yii2's interesting behaviours: helping automate the common web development task of assigning created by and updated by user_ids across the models in your web app, using DRY coding and Yii2 BlameableBehavior. We'll also create a log that records who updated the Status table for every change made.

Transparent Pixel Response with Symfony - How to Track Email Opening
Transparent pixel image is a technique often used to track some user behaviour (often visits or views to a certain online content) in scenarios where you can't use javascript. One of the most common scenarios is probably email opening tracking. Can you put Google Analytics into an email? Well, it probably would not work as expected... So is there something we can do? Of course there is, let's jump into a concrete example.

Record Retrieval and Pagination in Bolt CMS
Bolt is a lightweight CMS built on Silex with Symfony components that’s fast, easy, and fun to develop with. My recent affinity for Bolt has turned it into my CMS of choice as I make a conscious effort to choose wisely and step away from bloated frameworks. Previously, I gave a very detailed insight into what it’s like developing with Bolt.
News and Announcements

PHP South Coast Conference - 18th July 2015, Portsmouth
Community members from around the world come together to learn and share information about the latest trends and technologies in professional PHP development. There will be twelve captivating talks across two tracks for the day, and an opportunity to socialise in the evening. Standard tickets are available now until the end of June.

Pacific Northwest PHP - 10-12th September 2015, Seattle
This 3-day event will be packed with world-renowned speakers from the PHP community and companies like Amazon, AOL, Facebook, Google, Microsoft, Oracle, and Zend. With topics ranging from continuous delivery to the cloud, you'll be full to the brim with new knowledge to take home. Early bird tickets are on sale now, until the end of the month.

PHP Barcelona Conference - 30-31st October 2015
The PHP Barcelona user group has announced this years PHP conference, with two days of amazing talks. The Call for Papers is open now, until the end of September.
With a workshop day on the 24th prior to the two conference days, take your skills to the next level by spending a full day learning important ideas from community leaders. There's no more potent way to level up your knowledge of BDD, DDD, or modeling domains with Doctrine than to be immersed in a full-day of education in which you'll be able to ask questions and collaborate with your peers. Tickets for this event are available now.


dev/hell Podcast Episode 62 - Talmudic Maxims for the Unwashed Masses (PHPtek 2015)
PHPtek 2015 featured an awesome live recording of Development Hell in front of a rowdy audience. Our special guest Ytizchok Willroth, aka coderabbi, drops Talmudic knowledge on us, and we have great discussions about “hard” and “soft” talks, tech vs personal skills, and had a great Q&A session with the audience.

Acquia Podcast: Drupal Replaces In-House CMS at Digital Agency - Meet John Doyle
In April 2015, I was excited to talk with John Doyle, General Manager Technology & Solutions Architecture at the Australian full-service digital agency Komosion, to explore their decision to adopt Drupal to replace other technologies, including an in-house CMS they'd invested 10 years of work in. In this podcast, John very clearly lays out what Komosion's priorities were in making this decision, the benefits for the agency and its clients, and the future he sees using Drupal as the basis for future work.

MageTalk Magento Podcast #44 - Large Evergreen Coniferous Tree
The guys talk about upcoming interviews and various extensions along with community news.

Three Devs and a Maybe Podcast - Development after University with Jason Marden
This week we are lucky to have good friend of Edd's, Jason Marden, on the show. We start off the discussion with how he got into programming (hacking on Flash games) and how we met at University studying for a Computer Science degree. Moving on from this, we touch upon being introduced to Java as a first language, the presence of UML/SOAP in the real world and the importance of a white-board. Finally, we wrap up the show with a chat about Test Doubles, how his work provisions their AWS setup and advice to people looking into getting into the industry from University, or another profession.

Full Stack Radio Podcast Episode 19: Dave Marshall - Designing Effective Tests
In this episode, Adam talks to Dave Marshall, testing guru and host of That Podcast. Dave talks to Adam about the upcoming Mockery 1.0 release and some interesting API changes destined for 2.0. They also talk about how fakes can improve your tests, fixtures vs. factories, spec-style vs xUnit style test frameworks, and mutation testing.

Voices of the ElePHPant - Interview with Paul M.Jones
This week Cal Evans talks to PHP expert Paul Jones, author of Modernizing Legacy Applications in PHP.

Dev Discussions Podcast Episode 7 - Domain-Driven Design
Shawn speaks to two consultants, Mathias Verraes and Ross Tuck, about Domain-Driven Design (skipping the introductory parts). We discuss temporal modeling, functional modeling, process modeling and much more.

PHP and JavaScript Innovation Award Report Podcast June 2015 Edition - March 2015 Nominees
This is the June 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 March 2015.

PHP Town Hall #42: Paul and Vance
After a little hiatus, Phil and Ben are back at it, joined this time by Paul Dragoonis and Vance Lucas. Paul does some fairly cool stuff, manages the PPI framework and contributes to building the actual website, the poor sod. Paul is also the winner in the “PHP developers from the UK who are hard to understand” contest two years running, only beating Phil to the title due to being slightly better at handling his booze. Vance works at NetSuite and has open-sourced a bunch of code things, most notably phpdotenv and frisby. We all have a little natter, share some of our horror stories from projects including, and talk about Phil’s recent blog post about how hard it is to be a famous PHP rockstar guru.

Reading and Viewing

Extending MySQL With PHP's Native Driver
View the slides of Davey Shafik's presentation from php[tek] 2015.

Simple CSS Button Styles Tutorial and Code
View John Morris' tutorial on how to create some simple CSS button styles.

Joomla! 3 SEO and Performance Paperback (by Simon Kloostra, published 19 May 2015)
A concise, 150-page book that helps you to build websites that dominate search engine rankings and have super-fast load times, giving your sites an increased audience. The book takes a very practical approach full of real-world examples. It does not just provide instructions, but also teaches you the logic behind what you are doing. It will make you breathe SEO while building your websites, which is the only way to success.

Breaking The Enigma - Video Presentation Nomad PHP
Many years ago, the world was at war. The very best minds were focussed on out-smarting the “other side”, all without the aid of our modern computational tools. The key was in communication, and the Nazis had devised a simple and effective way to relay orders to the battlefront. They were using one of the most famous forms of electronic encryption: the Enigma. Breaking this Enigma was a victory built on the tireless work of many people, not least of all the persecuted and brilliant Alan Turing. In this talk we will learn how the enigma worked, and how it was broken. All in live code!

php[architect] June Issue on APIs - FREE Download
That’s right - thanks to Nexmo, June’s issue on APIs is free of charge for the month! 


To post a job advert please contact [email protected]

Interesting Projects, Tools and Libraries

This package adds the paginate route method to support pagination via custom routes instead of query strings.

The goal of this project is to build a lightweight web framework with a graph DB abstraction. It should be very easy to create the graph schema with no knowledge of how the data is stored.

This is a PHP wrapper class that gives easy access to Edit LLC's Montage API.

Simple and independent debug component compliant with PSR-1, PSR-2, PSR-4 and Composer for PHP 5.4+.

Little MailChimp which allows you to do a simple List Subscribe request with only a GET method, and adding a simple config.php to a server.

A multi-tier nestful routing oriented PHP Framework.

Instagram live wall made in HTML, PHP, JS, and CSS.

CakeBlog is an open source blogging software, written in PHP with the CakePHP framework.

Standard (V7) compatible crontab expression parser/validator with support for time zones.

Quark is a PHP SaaS framework, designed for using in complex projects.

A PHP package mainly developed for Laravel to skip the same task during an access.

This is a stand-alone PHP library that connects to the Affirm API.

A PHP package mainly developed for Laravel to manage option values.

Unirest is a set of lightweight HTTP libraries available in multiple languages.

Staq is a modern & innovative PHP framework for enjoyable web development.

Source maps utilities PHP library.

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

The most awesome validation engine ever created for PHP.

A simple wrapper class for Json.
Please help us by clicking to our sponsor:

 From our sponsors:
Protect Your Uptime Reliability is your mission. It's ours too. Deliver operations visibility and improved resolution times with PagerDuty. Sign up for a free trial.
(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 ©