|Hi to all you PHP fans, and thanks for joining us :)
We bring you two announcements from php.net this week, with the release of PHP 5.5.11 and PHP 5.4.27 for immediate availability.
The Joomla! Project has also announced the availability of Joomla! CMS 3.3 Beta 1, in preparation for the forthcoming 3.3 release.
The April presentations from Nomad PHP take place next week, with talks from Igor Wiedler in Europe and Samantha Quiñones in the US. You can buy tickets for the live event or video only, both for the same price.
If frameworks are of particular interest to you, the Three Devs and a Maybe team have released their latest podcast, introducing web application frameworks into the software mix.
We also have the second part of a couple of tutorials this week, on Refactoring Legacy Code and Extension Development with PHP-CPP.
Enjoy your read, and then tell your friends;)
Help us keep PHP Weekly going
Please help us to keep doing this each week by visiting our sponsor:
From our sponsors:
Less Is More
(or how Gary Hockin stopped blindly including shit in his composer.json).
The Crafting Code Tour - Three Great New Speakers
Read about who has joined this Summer tour, and where they will be presenting.
Simplifying Unit Testing (and asking for help when needed)
Do you test your application in the right way? Or do you attempt to do it all at once, in many locations? When you’re stuck, do you ask for help?
Tutorials and Talks
Processing JSON in PHP
Using PHP Configuration Patterns Properly
PHP is a cross platform language. It is a server based application so we must think about the configuration settings of the PHP software. This article explores different PHP configuration patterns and their implementation.
Refactoring Legacy Code: Part 2 - Magic Strings & Constants
Old code. Ugly code. Complicated code. Spaghetti code. Jibberish nonsense. In two words, Legacy Code. This is a series that will help you work and deal with it. We first met our legacy source code in our previous lesson. Then we ran the code to form an opinion about its basic functionality and created a Golden Master test suite to have a raw safety net for future changes. We will continue to work on this code and you can find it under the trivia/php_start folder. The other folder trivia/php_start is with this lesson's finished code.
Getting Started with PHP Extension Development via Zephir
This tutorial from sitepoint.com will explain how to create a PHP extension using a new language: Zephir, which is similar to C and Fortran. You can download the full source code from github. Having touched on the concept of Zephir before, if you’re interested in getting a broad overview you can view previous articles on the website.
PHP Extension Development with PHP-CPP: Object Oriented Code
In Part 1 on building a PHP extension with PHP-CPP, we saw some basics in using PHP-CPP to create our first skeleton PHP extension and covered some important terminologies. In this part, we further elaborate its OO features. We will mimic a complex number (in the form of 3+4i) class to demonstrate some more useful and powerful sides of the PHP-CPP library.
Check User-Submitted URLs for Malware and Phishing in Your Application
If you write software for the web that allows users to submit or share URLs (comment systems, mail clients, forums, URL shorteners etc), you may find yourself in a position where you need to filter out malicious links. Fortunately, there are several free options for you to better protect your systems and your users against bad guys, and they’re pretty simple to implement. (These examples are in PHP but could easily be adapted to whatever language you prefer).
Did You Mean Advanced Email Validation in PHP
When you take users' email addresses, for instance in a site sign-up form, there is a good chance that the addresses may be incorrect due to a typing mistake or it is not possible to deliver the message to the specified address for some reason. This e-mail validation package can detect and prevent users entering incorrect addresses before you accept them. Read this article to learn how to use this package to detect incorrect email addresses.
How to Set Up a Whip Snapping Fast WordPress blog with HHVM and NGINX – Part 1
You want your blog to be reliable and fast. And you want to make sure it can handle all of those millions of visitors you’re going to get from being on the first page of Reddit every day. Shared hosting (while it is getting better) isn’t going to cut it for you. You need your blog to have Ludicrous Speed™.
Silex Running on HHVM
This article talks you through setting up a Silex-based application to run on the HHVM from Facebook.
Cursors and the Aggregation Framework
With MongoDB 2.6 released, the PHP driver for MongoDB has also seen many updates to support the features in the new MongoDB release. In this series of articles, Derick Rethans illustrates some of those.
Introduction to JadePHP
|News and Announcements
PHP 5.5.11 Released
The PHP development team announces the immediate availability of PHP 5.5.11. Several bugs were fixed in this release, some bundled libraries updated and a security issue has been fixed: CVE-2013-7345. We recommend all PHP 5.5 users to upgrade to this version.
PHP 5.4.27 Released
The PHP development team announces the immediate availability of PHP 5.4.27. 6 bugs were fixed in this release, including CVE-2013-7345. All PHP 5.4 users are encouraged to upgrade to this version.
Joomla! CMS 3.3 Beta Released
The Joomla! Project is pleased to announce the availability of Joomla! CMS 3.3 Beta 1. Community members are asked to download and install the package in order to provide quality assurance for the forthcoming 3.3 release, which is scheduled for release on or around April 22nd, 2014.
Nomad PHP European Chapter - April 17th 2014 20:00 CEST
Abstract Machines presented by Igor Wiedler. In this talk, we will discover the possibilities and limitations of computation. Along the way we will encounter a bunch of virtual machines and interpreters, see similarities between them, and how they relate to things that we use every day, such as regular expressions, parsers, the PHP interpreter itself. You will gain a deeper understanding of what computation is, and what programming is all about.
Nomad PHP US East Coast Chapter - April 17th 2014 20:00 CDT
Demystifying the REST API presented by Samantha Quinones. Veteran software engineer Samantha Quiñones will walk you through the 2001 doctoral dissertation that started the REST revolution, presenting fundamental concepts in a way that developers of every skill level will appreciate. Then, through practical examples, she will describe how easy it can be to build truly RESTful HTTP APIs, and how you can be a part of creating a web that’s more scalable, more approachable and more connected than ever.
Three Devs and a Maybe Podcast: Introduction to Web Application Frameworks
This week the team introduce web application frameworks into the software development mix. Starting off with what they actually are, they move on to the benefits and useful feature set they provide you.
PHP and SQL Server Programming By Example (by Agus Kurniawan, published 22nd March 2014)
This book provides an alternative approach to building PHP applications with Windows platform and database SQL Server. It describes how to work with PHP and SQL Servers and illustrates their use with code examples.
Advanced Guide to PHP on IBM i (by Kevin Schroeder, published 1st April 2014)
Working through many of the concepts and skills needed by intermediate and advanced PHP developers, this book is specifically designed to help good PHP developers become indispensable ones. Topics include debugging, test-driven development, web-based development, advanced object-oriented programming, and web security, and the book also takes an in-depth look at the new PHP Toolkit for IBM i provided by Zend Technologies.
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 firstname.lastname@example.org with your CV/Resume and for more information. This is NOT a remote position.
PHP Web Developer, Melbourne
If you have a passion for web based technologies… this could be a great role for you! A leading company in Australian eCommerce space is looking for someone who has a passion for technology and software development. Building new features to extend the functionality of a SaaS shopping cart, working with a variety of third-party APIs and problem solving. If you fit the bill and are looking for a fun and rewarding career, we would love to hear from you.
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.
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 email@example.com 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 message queue using MongoDB as a backend.
Sprocketeer is a PHP library for getting a simple list of files from a sprocket-like manifest.
Type verification for php source. Ensures uses and all types within a file verify against the projects auto loader.
PHP SDK for New Relic Agent API.
Fork of Symfony's ClassLoader component compatible with PHP 5.1.3+.
Streaming data transformation system for PHP.
PHP framework for self-sufficient developers.
File library for PHP 5.3.
PHP library to get info and embed any web page.
Phake is a framework for PHP that aims to provide mock objects, test doubles and method stubs.
GitElephant is an abstraction layer to manage your git repositories with PHP.
Unirest is a set of lightweight HTTP libraries available in multiple languages, ideal for most applications.
PHP Expect is a lightweight assertion library for PHP to validate arguments and invariants.
A lightweight toolbox for CakePhp.
A PHP SDK for the Databox Push API.
This is a set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility.
Jackalope implements the PHPCR API.
A collection of some useful php utils.
So, how did you like this issue?