Just a bit of information on this issue. We have taken the tentative step of adding a sponsor on this issue and I want to explain why we have done this. We want to keep PHP Weekly as succinct as possible, but it does take us a considerable amount of time researching, collating and writing every week. We do it because we love the community which, whilst being a bit of a cliche, is absolutely true. That being said it would be good if we could at least fund the time that we spend, or cover some of it. Thats why we have added a sponsor to this edition and will evaluate that for the future. Ultimately we probably want to have a maximum of two sponsors, subtly placed, as we feel that will be able to cover our overheads. I hope that you understand our reasoning.
As ever we are always delighted to receive emails with suggestions for posts that are often ones that you, our readers, have written. Please keep spreading the word and please also let us know when we haven't reached your expectations as well as when we have.
Until next week.
Best PHP IDE for 2014 - Survey
The choice of editors and IDEs is vast in the PHP world – from platform specific to web based ones, from open source fully-fledged IDEs to commercial text editors, there’s more choice than one can have time to try out. In an effort to single out the best and most popular, Sitepoint have put together a survey.
Why Choose PHP Over Alternatives?
It’s a popular question. Why indeed should one pick PHP over one of the alternatives? After all, PHP has often been dismissed as a hacky, unusable and badly designed language. Why would anyone choose it, when starting a project from scratch? Instead of listing the reasons why people do choose it (mostly widespread availability), let’s instead focus on why people should choose it. We can’t talk about that, however, without first mentioning why they shouldn’t.
Composer: Downloading Random Code Is Not A Security Vulnerability?
A few days ago Padraig Brady spotted a post floating past on Twitter entitled “Composer: Replace, Conflict & Forks Explained”. There has been some recent complaining about Composer downloading the wrong packages as dependencies due to its “replace” feature misbehaving, so seeing something hit the blogs was not unexpected. The issue has been encountered previously so having it reoccur caused some consternation. Padraig believes this is a security issue, and explains why here.
On Rumours of "PHP Dropping MySQL"
Oracle's MySQL team have been asked to comment on the rumours about PHP dropping MySQL support.
HHVM: The Next Six Months
The HHVM team has just wrapped up its planning for the first half of 2014. They’d like to share their plans and provide a bit of context.
6 Debugging Tips Every PHP Coder Should Know
It’s a known fact: programmers spend more time debugging than coding. In this article, Marc-Olivier Gosselin talks us through a couple of tricks to be efficient in this not so exciting, but crucial task that is debugging code.
From our sponsors:
Tutorials and Talks
PHP Packages and Namespaces
Package is a set of PHP classes grouped in some manner. Many developers use file systems to organise their applications because PHP has no native concept of a package, until PHP 5.3. When PHP 5.3 was released, namespaces became part of PHP.
Creating a Blog Using Laravel 4 Part 2: Controllers
The first part of Creating A Blog Using Laravel covered: Laravel setup, Laravel Migrations, model creation using Eloquent ORM and Database Seeding. In this part of the tutorial we will cover the controllers for the blog application.
Pushing The Limits of Metaprogramming in PHP: Aspect Oriented Design
In this article, Yitzchak Schaffer gives us his take on Aspect Oriented Programming.
Add Schema.org Markup To Any WordPress Theme
Tyler Longren has written a more generic post on this topic, as his previous article was deemed a little too editorial. This version should apply to the majority of WordPress themes.
Data Fixtures in Symfony2
Back when Taylor Ren first started to learn Symfony (1.x) with its Jobeet project, he thought the ability to load test data into the database was very useful. In this article, he revisits this feature, which has been completely re-modeled.
Symfony2 Components Overview: Config
This part of the series talks about the Config component, which helps you to load and validate configuration values, regardless of their source.
Speedy Sites: Nginx and PHP
The previous article in this series looked at using Apache with mod_pagespeed to perform on-the-fly enhancements to decrease page load times. Getting an optimised page is only half the battle however; you need to ensure that the backend is doing as little work as possible in order to be highly scalable. This article looks at how you can achieve this while improving performance – all with nginx.
The first time that Derick Rethan's improved DateTime support made its way into PHP was officially in PHP 5.1, although the more advanced features such as the DateTime class only made an appearance in PHP 5.2. Since its introduction the DateTime class implementation has suffered from one design mistake — arguably not something that even an RFC would have highlighted. Find out about that here.
Debugging With Xdebug and Sublime Text 3
Writing code perfectly the first time around is hard and only a few (if any) succeed at it. This article looks at how to debug using Xdebug in combination with Sublime Text.
|News and Announcements
Master Zend Framework Is Live!
After much, much, work, Master Zend Framework is live. It’s been quite an effort to get it there, with a number of unexpected issues along the way. Nonetheless, it’s ready. Looking at the traffic and mailing list signup stats, it’s been very well received.
PHP Unconference Europe - May 17-18th 2014, Majorca
The 3rd PHPucEU takes place on May 17th and 18th on the island of Majorca. With no defined speaker list, the attendees decide upon the topics in which they are interested. On the morning of each unconference day, a suitable speaker is then chosen. Tickets are on sale now.
Nomad PHP European Chapter - March 20th 2014 20:00 CET
Understanding PHP Streams by Elizabeth Smith. PHP has an incredibly powerful mechanism for treating just about anything as a stream. It’s the feature that everyone uses, but no one knows about. Learn about PHP streams from the very beginning – from the basics and built in streams, to stream filters, user streams, user filters, even using streams with sockets.
Nomad PHP US East Coast Chapter - March 20th 2014 20:00 CST (March 21st 02:00 CET)
Laravel 4: Deep Dive Queue by Taylor Otwell. Laravel 4, a popular PHP web framework, includes built-in support for background job queueing with a variety of different drivers, including Beanstalkd, Redis, AWS, and Iron.io. In this session, we’ll take an in-depth look at job queueing, and explore all of Laravel’s queue features, including basic job handling using both IoC and Closures, failed job handling and Iron.io “push queues”.
Laravel.IO Podcast - Episode 10
With Taylor Otwell, Jesse O'Brien and Chris Fidao.
dev/hell Podcast Episode #39: Animal Style
Recorded the night before SkiPHP began, in Salt Lake City. A broad range of subjects covered, including conferences and serial killers!
PHP Town Hall #19 - Jeffrey Way, Laracasts and BDFLs
Well known PHP/Laravel nice-guy Jeffrey Way from NetTuts and Laracasts joins regular guest Zack Kitzmiller to discuss the wonderful world of Laravel once again. This time the discussion focuses on some of the silly complaints people have with an otherwise wonderful system, and on the reusability of its packages.
php[architect] February 2014
Digital and print versions available now.
Raspberry Pi Server Essentials (by Piotr Kula, published 10th February 2014)
Transform your Raspberry Pi into a server for hosting websites, games, or even your Bitcoin network.
If you have a position that needs filling, let us know and we will include it.
Kinesis Seeks Senior-Level PHP Talent! (Austin, Texas)
Kinesis is the established world leader for mobile survey software. We’re in the midst of refactoring our flagship product and reimagining our infrastructure as code using cutting edge tools and techniques. We’ve implemented distributed version control, continuous integration and inspection, and are aggressively re-architecting to support continuous delivery. We’re looking to add some experienced talent to our team to help us get there.
Single Founder seeking Senior PHP Talent
This one is a bit different! We decided to post it as Dan intrigued us. Single founder seeking either freelancers or employee number 1, with potential co-founder status. Read more on Dan's blog.
PHP Job in London with Signkick
Join a startup that is revolutionising the $33b outdoor advertising market.
Junior Developer for Performance Telecom, Newcastle Based.
Performance Telecom are looking for a Junior developer, based in Newcastle upon Tyne, to work on exciting big data and telecoms projects. This role would suit a recent graduate, though also someone who can drive and has access to their own transport. Contact [email protected] with your CV/Resume. This is NOT a remote position.
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 [email protected] 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.
Machine Learning / AI skills (project based)
Inovica are looking for someone to work with them on detecting ecommerce products on sites and extracting relevant information. In the first instance please email [email protected] stating the experience you have in this field. They don't have a job description online but will reply to every email they receive.
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.
PHP Engineers for Bright.Com in San Francisco
We are looking for PHP engineers to join our growing team! The ideal candidate is language agnostic, and can work with both scripting languages (such as Python and PHP) as well as strongly typed languages (such as C++ and Java), and has a passion for taking an idea and exploring, tinkering, debating, and demonstrating the fastest, most efficient, flexible and scalable implementation approaches. Experience working with traditional SQL databases as well as newer technologies, indexes and data stores is key (such as Solr, ElasticSearch, Redis, or Neo4j), and you must be comfortable using Linux and other open source technologies.
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.
Freelance Dev Leads
A concierge service for your freelancing business. Whilst this is a paid service for developers Glen, who runs this site, provides good solid curated freelance jobs to his list. We have used it ourselves and recommend giving it a go.
Interesting Projects, Tools and Libraries
The feedly Cloud API
An API Wrapper around Feedly's REST API.
Bitbucket is a code hosting site with unlimited public and private repositories. Sign up for free.
PHP implementation of the OATH one-time password standards.
A Multi-Framework Composer Library Installer. This is for PHP package authors to require in their composer.json.
PHP API wrapper for iDefend API.
Sinergi Framework is a PHP framework built for developers who want control on which package they use in their application.
Phinx makes it ridiculously easy to manage the database migrations for your PHP app.
Recurr is a PHP library for working with recurrence rules (RRULE) and converting them into DateTime objects.
Phastlight is an asynchronous, event-driven command line tool and web server written in PHP 5.3+ inspired by Node.js.
Really simple view renderer for PHP templates.
PHP library to manipulate and generate responsive images.
Yogurt is a template language for PHP.
This is a composer enabled package for the php library Mellt.
Simple wrapper class around PHP's SoapClient class.
A simple OO wrapper around PHP's cURL implementation.
This is a simple logger in php to log applications.
GSSimpleOcr is a simple OCR Service written in PHP.
So, how did you like this issue?