|Hey PHP fans! It's that time of the week again ;)
The PHP development team has announced this week the bug-fix only release of PHP 5.6.0beta3, available immediately.
If you're a developer who is struggling to decide which framework is the right one for you, get a different perspective on things from Brandon Savage.
Also, the Refactoring Legacy Code series continues, with Part 4 this week concentrating on unit tests.
Several podcasts covering a wide range of topics, including character encoding, Agile, and Scaling PHP.
Finally you've still got a few hours to register for tonight's Nomad PHP tutorials, with presentations from Omni Adams and Erika Heidi.
Your input and feedback is very important to us, and always well received. Remember, if you ever want to talk PHP with us, drop me an email at firstname.lastname@example.org.
Have a great weekend, and thanks for reading,
Help us keep PHP Weekly going
Please help us to keep doing this each week by visiting our sponsor:
From our sponsors:
PHP 5.6 Benchmarks
A while ago, Lorna Mitchell did some benchmarks on how different versions of PHP perform in comparison to one another. Recently she ran it again for versions PHP 5.3 through PHP 5.6 and has shared her results here.
5 Strengths of PHP
PHP. It's the much-maligned whipping boy of "serious" programmers. And in some sense, its ill repute is justified. PHP's early evolution was choppy. The standard libraries don't feel all that cohesive. Decades ago, it had some security issues. And the community, as diverse as it is, continues to churn out just as much bad PHP as good PHP. However, PHP does have strong points. Matt Butcher has created a list of five.
The Framework You Learn Doesn't Really Matter
Whilst attending PHPDay in Verona recently, Brandon Savage was asked by two developers which framework he thought they should learn: Symfony or Laravel. Read his surprising response here.
Final Classes: Open for Extension, Closed for Inheritance
Mathias Verraes has posted this article on how he makes all his classes final by default, configuring the templates in his IDE prefix new classes with ‘final’.
Controller Classes vs. Action Classes
Stephan Hochdorfer goes into detail and explains his thoughts on the Action-Domain-Response pattern proposed by Paul Jones - in particular why he thinks action classes make more sense than the commonly used controller classes.
Tutorials and Talks
Build Your Own Custom Entities in Drupal – Setup
Entities are a great way to organise your data in Drupal. If you are familiar with nodes, taxonomy terms, comments or users, you should also know that since Drupal 7, these have been entities. This tutorial, the first of two parts, shows you how you can define your own custom entity type and get started working with it.
Unit Testing with GuzzlePHP
This tutorial shows you how to use Guzzle from a different perspective, specifically how to use it for unit testing.
Magento Basics, Request Flow, Standards and Best Practices
Nowadays, companies are migrating their businesses online more and more. One of the solutions for e-commerce that gained trust from lots of companies is Magento. This article discusses the initial step that needs to be accomplished by a developer in order to get familiar with Magento’s structure and be ready to start adding custom functionality.
Lithium Framework: Getting Started
Lithium is a lean but mean PHP framework (machine?) built for PHP 5.3 and up. It is designed to provide a good tool set for starting your web application, but one that is not too confining.
Refactoring Legacy Code: Part 4 - Our First Unit Tests
A unit test is a test that exercises a single function or method. When we are programming in an object oriented style, our functions are organised in classes. All the tests associated with a single class are usually called a Test Case.
IronMQ and Laravel: Setup
This two-part article series aims to make a beginner understand using push queues with Laravel. To give a brief overview, the final solution which we will be looking at is a simple form to upload photos and resize them.
Creating Custom ZFTool Diagnostic Classes
Last week’s tutorial covered using the Diagnostics component of ZFTool and how it makes it really simple to add diagnostic support to Zend Framework 2 Modules. In this week’s tutorial, we’re going to see how to step beyond the in-built classes and write our own custom checks.
|News and Announcements
PHP 5.6.0beta3 Released
The PHP development team announces the immediate availability of PHP 5.6.0beta3. As we entered the feature freeze with beta1, this is is a bugfix-only release. All users of PHP are encouraged to test this version carefully, and report any bugs in the bug tracking system.
Aura.View and Aura.Html 2.0.0-beta1 Released!
Aura.View 2.0.0-beta1 is a reduced implementation of the v1 View package.
Northeast PHP Conference - September 6-7th 2014, Boston
The Northeast PHP Conference is a web developer conference focused on PHP, Web Technology and UX. There has been a lot of demand for such a conference in this region, and we are excited to be hosting it again. We are bringing in over 300 attendees from across the northeast and beyond. The call for papers is now open, until June 1st.
Nomad PHP US East Coast Chapter - TONIGHT 20:00 CDT
Phing All The Things! Presented by Omni Adams. Phing is a build system that lets you do all sorts of neat things quickly and easily. If you find yourself manually running complicated processes, or frequently having to look up command line parameters for your tools, Phing can help make you more efficient. If your deployments have many error-prone steps, or you find yourself dealing with fragile procedures, Phing can help keep your sanity.
Nomad PHP European Chapter - TONIGHT 20:00 CEST
Vagrant for PHP Developers by Erika Heidi. Vagrant is one of the most mainstream tools in the devops world nowadays, especially between Open Source developers – now we can finally forget about the environment and focus on the code, without worrying about the “works on my machine” problem. This talk will evolve as a beginner’s guide for creating Vagrant boxes, focusing on PHP environments. It will cover the basic Vagrant concepts and give an overview about its main provisioners – Puppet, Chef and Ansible, including a set of protips to create better and optimised vagrant development boxes for your projects.
May 2014 php[architect] Magazine Released
The May issue is now available.
Three Devs and a Maybe Podcast: Understanding Character Sets and Encodings
Having only just recently been bit by the character encoding issue again, we thought it would be a good time to bring it up on the podcast. Starting from the beginning with ASCII, we move on to discuss how 8-bit compatible machines brought way to the ISO-8859-* standards. This leads us on to Unicode, with the goal to develop a single character-set encoding standard that could support all of the world's scripts. Finally, we discuss the de-factor character encoding implementation used on the web today 'UTF-8', and reasons why this is the case.
Lone Star PHP 2014 Review - 7PHP Interview with Jeremy Lindblom
Another review of the Lone Star PHP conference held last month, this time from Jeremy Lindblom, a PHP software engineer at Amazon Web Services.
The Loosely Coupled Podcast: Episode 4 - An Agile Rant
In this episode Matt and Jeff talk about their experiences with adopting Agile as individuals and as teams. The important takeaways are to not be too loose nor too rigid with the practice; to accept change as it happens but to not force change too rapidly; to honour the purposes of the components of agile practices; and, above all, to find what works for your team specifically over what you read in a book.
PHP Town Hall #24: But Is It Web Scale?
This week Ben Edmunds calls in from Portland and Phil Sturgeon calls in from THE FUTURE. They are joined by Steve Corona to discuss Scaling PHP. Most of this conversation centers around Phil and Ben’s horrible facial hair with a few questions thrown Steve’s way to educate us on getting the most out of your LAMP stack. The main takeaways are to stop using Apache and to start using Postgres.
Working With Controllers in Symfony 2
This video tutorial shows you how easy and fun controllers are to work with.
If you have a position that needs filling, let us know and we will include it.
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 email@example.com with your CV/Resume and for more information. This is NOT a remote position.
PHP Job in London with Signkick
Join a startup that is revolutionising the $33b outdoor advertising market.
Positions at Sailthru (New York City)
We're looking for Developers, DevOps, Test Engineers and DBAs. Learn more about what it's like to work here on our Muse page. Contact firstname.lastname@example.org for more information.
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.
PHP (Drupal) developers at Torchbox (Bristol and Oxford, UK)
Passionate about PHP, delirious about Drupal and want to work on a wide variety of challenging yet fun projects for fantastic clients? If yes, then Torchbox would love to hear from you! In return, we can offer an enviable working environment (country park or buzzing Bristol), a competitive salary, all the usual kit and sometimes even a ski trip.
Full Stack Developer
Major television production company seeks an experienced web developer to join its digital division. The ideal candidate possesses a deep expertise and abiding love of web development, an incredible track record of producing stellar web applications (with a long list of URLs & GitHub repositories to prove it), a near-supernatural work ethic and a fantastic sense of humour.
Message Digital Design Ltd is Hiring a Web Developer (PHP)
We are looking for an experienced developer to work in our spacious offices in central Brighton, helping to deliver high-quality websites, e-commerce and online systems to a wide range of clients. At Message we give a damn about building the web the right way, and the successful applicant will too.
Ballers Bridge is Hiring a Sr. Yii Developer
We are looking for a motivated and outstanding candidate to lead our product development. The ideal candidate is an experienced problem solver, quick thinker/learner, self-motivated and not afraid of challenges.
Senior PHP Developer in Bucharest, Romania
We are searching for a passionate PHP developer who will be part of a team of senior programmers and experienced testing engineers, directly involved in technical development projects, using Agile Scrum as methodology.
Interesting Projects, Tools and Libraries
PHP client for Desk.com v2 API, based on Guzzle.
Silex is a PHP micro-framework to develop websites based on Symfony2 components.
Framework and toolkit.
A simple class to generate js/css tags with cache names from busters.json.
Bugsnag error monitoring for PHP apps.
Joomla Framework Session Package.
A simple Laravel-style way to create breadcrumbs in Laravel 4.
Helps you to build your mocks, stubs and test data in a nice oop way.
A collection of use PHP utility classes and functions.
Loco SDK for PHP including REST API client.
Slugify a string in PHP.
A PHP library that generates fake data for you.
Bread storage library.
KeyMedia PHP API wrapper.
Mock the time system in PHP using AOP-PHP.
Small and simple library allowing your code to edit files.
So, how did you like this issue?