|Hello, PHP fans, and thank you for joining us at phpweekly.com;
PHP 5.0.0 is 10 years old! Davey Shafik takes a look back at its initial release, and how far it has come since then.
Refactoring Legacy Code Part 8 is out now, concentrating on fixing the architecture of the application.
PHP Conference Venezuela has recently been announced, taking place in Caracas at the beginning of August. Still some tickets available with a 50% discount!
Plus, the team at 7PHP has interviewed Phillip Jackson, a Magento certified engineer offering tips and tricks for anyone planning on taking the Magento Exams.
Finally, we bring you several podcasts this week courtesy of dev/hell, PHP Town Hall and Three Devs and a Maybe.
Enjoy your weekend!
Help us keep PHP Weekly going
Please help us to keep doing this each week by visiting our sponsor:
From our sponsors:
15 Things You May Not Know WordPress Can Do
It's the perfect tool for running a blog or regular website, but due to it’s open architecture, WordPress is much more than just a CMS, with many developers taking it to a whole new level. This article will show you 15 alternative uses of WordPress (plus 2 bonuses).
Celebrating 10 Years of PHP 5.0.0
Ten years ago this week, on July 13th 2004, PHP 5.0.0 was unleashed onto the world. Take a nostalgic look back with Davey Shafik.
The Future of WordPress
There’s one thing that we can all agree on: the future of WordPress is bright. Inspired by WP Think Tank’s recent Future of WordPress panel, we spoke to several prominent members of the WordPress community about their vision for the future of WordPress.
Quickly add Amazon Cloudfront as a CDN
Lorna Jane Mitchell is working on an application which is experiencing lots of interest - and therefore lots of load! She needed to look at ways of trying to bring down the pressure on the servers, and decided to use a CDN (Content Delivery Network) for the image files. It was surprisingly painless to implement once she got into it so here it is in case it's helpful.
Tutorials and Talks
A Better PHP Testing Experience Part I
After last week's introduction article, Matthias Noback is moving away from assertion-centric unit testing.
Automate PHP with Phake Part 2 – Real World Examples
Part one covered the basics of Phake and demonstrated ways of executing tasks with it, covering groups, dependencies, and arguments. This part looks at some sample real world applications of Phake. Note that the following examples are largely based on things that the author usually does manually that need some sort of automation.
Social Network Authentication: Setup
This entry is Part 1 of 3 in the series Using Social Networks as a Login System. Almost every website which contains a log in option, also contains ways to log in through different social networks. In this series of articles, we will take a look at how we can make sure that our visitor can log in through Google+ and eventually other networks like Twitter and Facebook.
Running WordPress on OpenShift: An Introduction
OpenShift is a PaaS that allow you to run your own app for free with low resources. It offers 1GB storage and 512MB RAM, and has support for custom domains. It's faster than Heroku, PagodaBox, and AppFog giving you SSH access to your app server, running in a separate environment. It's just like a real server, but you get it for free.
How To Display Post Meta Data on a WordPress Post
Having already looked at the concepts of object-oriented programming in a series of previous articles, the goal of which was to help those who were not familiar with object-oriented programming in PHP and explore the foundational aspects of the paradigm within the context of WordPress, Tom McFarlin has written this article to take a look at extending the plugin he previously created to enable the display of data on a single post page.
Refactoring Legacy Code: Part 8 - Inverting Dependencies for a Clean Architecture
It's now time to talk about architecture and how we organise our newly found layers of code. It's time to take our application and try to map it to theoretical architectural design.
Fun with Travis CI and PHP Projects
Adam Culp shares his tricky experiences using Travis CI to monitor the status of his PHP project.
No to a Uniform Variable Syntax
As you might have heard, PHP developers voted on an RFC called "Uniform Variable Syntax". This RFC "proposes the introduction of an internally consistent and complete variable syntax". In general, this RFC argues for making PHP's parser more complete for all sorts of variable dereferences. Derick Rethans was the only developer who voted "No". Read his thoughts here.
|News and Announcements
PHP Conference Venezuela - August 1st-2nd 2014, Caracas
With two full days of conferences. Book your tickets now and get a 50% discount!
WordPress 4.0 Beta 1 is now available
This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version.
PEAR 1.9.5 is out
The PEAR installer version 1.9.5 has been released. The new version – three years after the last stable 1.9.4 and 2 weeks after the preview – is a bugfix only release. 13 bugs have been fixed.
Nomad PHP US East Coast Chapter - July 24th 20:00 CDT
Beyond Design Patterns, by Anthony Ferrara. Many people teach design patterns as a fundamental step to Object Oriented Programming. They are so universally seen as important that almost every single programming conference that I have been to has had at least one talk about them. They are quite often used as interview questions to test a candidate’s OOP knowledge. However, just like inheritance, they are not needed for OOP. And just like inheritance, they are a distraction rather than a foundation. Instead of focusing on patterns, I suggest focusing on learning about abstraction and communication. Why? Come and find out!
Nomad PHP European Chapter - July 24th 20:00 CEST
Composer: Stability and Semantic Versioning Demystified, by Beau Simensen. Understanding stability and semantic versioning makes a huge impact on daily life with Composer. Learn how to decode Composer’s solver errors, get a better understanding of semantic versioning, how dependencies interact with each other when it comes to stability, and how to use Composer features like branch aliases to make things run more smoothly.
Three Devs and a Maybe Podcast: Laravel, Forge and Homestead with Taylor Otwell
This week we are very lucky to have the creator of Laravel, Taylor Otwell on the show. Starting off with his journey into the world of programming (through .NET), we move on to discuss how Laravel came to being. We then touch upon our experiences experimenting with different programming stacks, and what features of C# he would like to see introduced into PHP. Finally, we ask Taylor what resources he would recommend to someone just starting out in the industry.
PHP Town Hall #28: Loosely Coupled Mashup
In this episode, Ben and Phil join forces with Loosely Coupled to talk about Open Source, burn out and briefly discuss their favourite open source projects. Jeff was out of action for a lot of it due to unexpected wifi troubles (in San Francisco of all places) so he sadly did not get to take part as much as he would have liked.
dev/hell Podcast Episode #48: Old as Dirt
Our guest this week is Elizabeth Smith, PHP internals veteran and guru of PHP on Windows (she says “I wish every company was as good at giving back to open source as Microsoft”). We talk about being Old as Dirt in relation to a blog post Ed made last week, how to mentor up and coming developers, and the history of PHP on Windows.
The PHP Testing Experience: Interview by Fernando Arconada
Fernando Arconada interviewed Matthias Noback about the subject of testing. He is writing a book about testing Symfony2 applications: Testing para Aplicaciones Symfony2. Fernando will translate this interview to Spanish and and add it to his book.
7PHP Interview: Magento Certified Engineer Phillip Jackson
Magento Certifications, Tips & Tricks to help anyone taking either of the FOUR Magento Exams powered by Magento.
DeskPRO is hiring a QA Engineer with Codeception Experience. (London or Remote / Perm or Contract)
Join our team and lead the QA effort at DeskPRO. Your initial focus will be building a large acceptance test framework in codeception.
SHAREIGHT Full Stack Developer - London
SHAREIGHT are looking to add talented full-stack developers to their team. To gain a place in our team you should have solid experience building and maintaining complex software systems. Developers who apply creativity and passion to solve human problems with software and technology will fit right in with us. We work in an Agile way and value team players who can collaborate with others to deliver elegant solutions.
*CMNTY is Looking for a Symfony2 PHP Developer!
CMNTY Corporation develops online communities. Our SaaS solutions will belong to your main task areas. You will be responsible for the architecture, planning and development of our products. You will implement new features, find and fix bugs and optimize code. Visit our Facebook page to learn more.
Developer for Performance Telecom
Performance Telecom require a developer, based near Durham, UK, to work on an exciting Customer Satisfaction system. This role would suit someone with experience as well as someone who is willing to learn new 'stuff'. Contact firstname.lastname@example.org with your CV/Resume and for more information. This is NOT a remote position.
DeskPRO is hiring Full Stack PHP Developer (Symfony/AngularJS) in London or Remote.
Join our small London based team (excellent remote workers considered as well) building a large PHP application where your work will have immediate impact on our millions of end users. Lots of interesting projects coming up including adding elasticsearch and memached to our stack, writing a DeskPRO app for telephony based upon Twilio, integrating our software with other companies APIs, adding functionality to our phonegap mobile app as well as continuing the development of our core software platform.
Interesting Projects, Tools and Libraries
A PHP library to support almost all features of handlebars.
A simple, opinionated MVC framework built for Strident.
Cross-language UserAgent classifier library, PHP implementation.
Installer for PHP extension, supports pecl package or install from src tree directly.
Package that provides basic functionality to handle property files.
Multithreaded webserver for php written in php.
Package that provides basic PHP collections and utilities.
PHP Matrix data structure.
Object-Relational-Mapper for PHP.
Simple phar creation for every PHP project managed via Composer.
A simple PHP logging system which is PSR-3 and PSR-4 compliable.
Simple string interpolation in PHP.
A PHP 5.3+ Collection implementation that takes inspiration from multiple sources.
Project core based in Phalcon framework.
Light and Flexible ORM without magic.
Server-side WebDAV protocol implementation, in pure PHP.
The most awesome validation engine ever created for PHP.
Experimental DataGrid for Nette Framework.
So, how did you like this issue?