|Hello to all of our readers, old and new, and welcome to the latest edition of PHP Weekly.
This week we bring you a whole host of new releases, including PHP 5.6.6, 5.5.22 and 5.4.38, as well as Wordpress 4.1.1 and Joomla! 3.4. All are available now.
Also this week we have an article listing 10 Outstanding PHP Frameworks to look out for in 2015.
The tutorial series on how to create a license controlled plugin and theme update system continues, with part three tying together the previous parts to make a WordPress theme and plugin.
And the February edition of php[architect] has been released, with this month's theme exploring other languages you may want to try.
Last, but by no means least, we have an impressive collection of podcasts for you to feast your eyes and ears on.
We love getting feedback, suggestions and articles from all of our readers. Don't be shy, tell us what you think.
Katie and Ade
We still need your clicks please :)
From our sponsors:
Top 10 PHP Frameworks Worth Looking Forward To in 2015
As one of the most celebrated web development platforms, PHP has been used by web developers all over the world. The skill and knowledge of PHP developers is worth an immense amount of appreciation. Every facet of project development has been executed effectively using high-end PHP frameworks. Keep on reading this post as I’ll be talking about 10 outstanding PHP frameworks, which have provided every PHP developer with a foundation for building high-performing web applications.
How Safe are Perl, PHP, and Ruby? The Experts Weigh In
What does it mean to say that a language is "safe" - even if you're not using it for low-level functions? How much of that safety is the language itself, and how much of it is the programmer? The biggest names in PHP, Perl, and Ruby speak up about what's safe - and not - in their languages.
When You're Hacked in WordPress: Dealing With a Hacked WordPress Site
One of the worst things that can happen to your website just happened: It's been hacked. Somebody broke into your computer and got passwords, or your passwords were weak, or somebody exploited a security vulnerability caused by WordPress or your hosting provider, or something else happened that let a hacker hack your website... What do we do now? It's not the time to feel sorry for yourself, it's time to take action and bring back your website. Let's go!
Announcing a Specification for Hack
When we announced Hack, we were very excited for the community to get their hands on a programming language that has helped Facebook engineers become more productive in their day-to-day development and which became, alongside PHP, the language used when developing applications running on HHVM. At the time of release, we had documentation geared for the programmer using Hack to develop applications. However, we did not have official documentation for those that might want to create a Hack implementation of their own, or something like a Hack conformance test-suite. Today we are excited to announce the availability of the initial specification for the Hack programming language.
The Path to The First PHP Conference Talk
Matthew Setter shares his feelings and experiences of this months PHP UK Conference 2015.
Tutorials and Talks
Introduction to Silex – A Symfony Micro-framework
Silex is a PHP micro-framework based on Symfony components and inspired by the Sinatra Ruby framework. In this article, we are going to get started with the framework and see how it fits our needs.
Create a License Controlled Plugin and Theme Update System, Part 3: Doing the Update
In the first two tutorials in the series we built a WordPress plugin for managing software licenses. In Part 1, we built the administration tools needed for adding products and licenses, and in Part 2, we created an API that plugins and themes can use to access the license and product information. Now, it's time to tie it all together and make a WordPress theme and a WordPress plugin use the license server to check for updates. To do this, we will create a class that can be dropped into any WordPress plugin or theme's codebase to make the theme or plugin use a WordPress site, running our WP License Manager plugin to check for updates.
Testing APIs With RAML
In a recent article I looked at RESTful API Modeling Language (RAML). I provided an overview of what RAML is all about, how to write it and some of its uses. This time, I’m going to look at some of the ways in which you can use RAML for testing. We’ll start by using RAML to validate responses from an API. Then we’ll look at an approach you could take to mock an API server, using a RAML file to create mock HTTP responses.
Speed Up WordPress: Caching and Database Optimization
One of the most popular talking points in the WordPress community is speeding up WordPress and optimising web pages. This may look like yet another "tips for speeding up WordPress" tutorial, but in this three-part series, we're going to go through every aspect of optimising and speeding up your WordPress website. Let's start with the most popular and probably the easiest thing: caching.
Using StackPHP Middleware in Laravel 5
In version 4.1, Laravel introduced compatibility with StackPHP middleware. In Laravel 5, a lot of things changed. And with those changes, Laravel also removed the support for StackPHP middleware and introduced its own middleware contract. This article explains how to convert from one to the other.
Exploiting Memory Corruption Bugs in PHP - Part 1: Local Exploitation
Many people don't consider memory corruption bugs to be an issue for web-based applications. With XSS and SQL injection still being so wide spread, there is little room for concern for these types of bugs, as they're written off as "unexploitable" or plain ignored. However, these types of attack are much worse than SQLi or XSS. This post will be the first in a three part series, starting with how to exploit CVE-2014-8142 (and CVE-2015-0231), followed by remotely leaking arbitrary information, and ending with getting control of the PHP Interpreter.
Laravel 5 Autoloader
Last time we finished up our look at Laravel 4.2’s autoloader implementation. Like a lot of features in Laravel (or any framework) once you pull out the microscope sharp edges begin to jut out everywhere. Today we’re going to examine changes to the autoloader in Laravel 5, and how they address some of the issues and edge cases we encountered when exploring Laravel 4.2’s autoloader.
More PHPUnit Helpers
In my previous article I expanded a few ideas around test helpers and how to use setUp() and tearDown(). However, we still stayed in the realm of things built in to PHPUnit. Here, I want to expand on a helper function I include in most of my main testing classes that allows for the concept of setUp(), but grants a bit more flexibility.
|News and Announcements
PHP 5.6.6 is Available
The PHP development team announces the immediate availability of PHP 5.6.6. This release fixes several bugs and addresses CVE-2015-0235 and CVE-2015-0273. All PHP 5.6 users are encouraged to upgrade to this version.
PHP 5.5.22 is Available
The PHP development team announces the immediate availability of PHP 5.5.22. This release fixes several bugs and addresses CVE-2015-0235 and CVE-2015-0273. All PHP 5.5 users are encouraged to upgrade to this version.
PHP 5.4.38 Released
The PHP development team announces the immediate availability of PHP 5.4.38. Seven security-related bugs were fixed in this release, including CVE-2015-0273 and mitigation for CVE-2015-0235. All PHP 5.4 users are encouraged to upgrade to this version.
Zend PHP 5 Certification Study Guide, Third Edition Released
An all new, expanded edition of the Zend PHP 5 Certification Study Guide is now available. Purchase a printed book for $35 plus get a free digital edition. You can also buy the digital only edition for $22. We provide our digital books in DRM-free PDF, ePUB, and MOBI formats.
WordPress 4.1.1 Maintenance Release
WordPress 4.1.1 is now available. This maintenance release fixes 21 bugs in version 4.1.
Joomla! 3.4 Release Candidate Released
The Joomla! Project is pleased to announce the availability of the Joomla! 3.4 Release Candidate. Community members are asked to download and install the package in order to provide quality assurance for the forthcoming 3.4 release.
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. Early Bird tickets are available now until the end of March.
Dutch PHP Conference - 25-27th June 2015, Amsterdam
The target audience for this conference are PHP and Mobile Web Developers of all levels, software architects, and even managers. Beginners will find many talks aimed at helping them become better developers, while more experienced developers will come away inspired to do even better, armed with knowledge about the latest tools and methodologies.
February 2015 php[architect] Magazine Launched
This month’s theme, “Other Shores”, explores other languages you may want to try. Tobias Nyholm introduces us to Hack, Julien Pauli talks about PHP Extensions, and Ricky Robinett talks “Swift for PHP Developers”.
PHP Town Hall #37: Sunshine Round-Hall? Town-Table?
We all know that SunshinePHP is one of the PHP communities finest conferences. It is attended by an amazing group of people, wonderful speakers and Rasmus usually pops in for a drive-by-keynote. Every conference Phil or Ben attend with some vague promise of “yeah we’ll probably try and do a recording there or something,” but this SunshinePHP we actually did it, all thanks to the wonderful Sammy K off of PHP Roundtable. The topic this time around was that of APIs, and we were joined by an all star panel.
MageTalk Magento Podcast #24
"Would You Like a Butter Mint?"
Lately in PHP Podcast Episode 56 - Help Testing PHP 7 to Anticipate Bug Fixing
Voices of the ElePHPant - Interview with Larry Garfield
This week Cal Evans chats with Drupal Developer Larry Garfield.
dev/hell Podcast Episode 56 - Targeting the Amber Monochrome Market
The PHP Bard himself, Jeremy Lindblom, joins us for much discussion of fun things, like how PHP is used inside Amazon, the upcoming Pacific Northwest PHP Conference (PNWPHP), and what it’s like to be a bard in the age of automation. Also Ed bought a new TV and wrote some music once.
The Changelog Podcast #143 - Front-end Developer Interview Questions with Darcy Clarke
Darcy Clarke joins us this week to talk about his repo on the HTML5 Boilerplate org - “Front-end Developer Interview Questions”. This project is second to only the HTML5 Boilerplate itself with 14,000+ stars!
Acquia Podcast: Working on Remote Teams - the Developers
In this episode, recorded at BADCamp 2014, I kick off with Four Kitchens developers Matt Grill and Taylor Smith talking about Drupal itself. Then we get into some tips and tricks they use to keep on track with work and maintaining healthy communication as members of remote teams. In Part 2, I speak with Four Kitchens' Operations Manager Elia Albarran about the manager's perspective on running great teams, whether mixed in-house/remote or all remote.
To post a job advert please contact [email protected]
Fuzzy Matching Project Work
We are looking for someone to help on a specific project which will involve matching products on one website with products on another website. Someone with skills and demonstrable experience of matching algorithms is a necessity. If you can’t prove that you can do this kind of work please do not contact us. For the right person there is ongoing exciting work. In the first instance please contact us at [email protected] with “Fuzzy matching project” as the subject and we will then create a shortlist, providing the shortlist with information about our company.
Interesting Projects, Tools and Libraries
RegExpBuilder integrates regular expressions into the programming language, thereby making them easy to read and maintain.
A Shopping Cart Implementation for Laravel Framework.
Windwalker is a New PHP framework. It is based on Joomla and is core of Windwalker RAD framework.
Modern and simple PHP task runner inspired by Grunt and Rake aimed to automate common tasks.
The subsites module provides a convenient way of running multiple websites from a single installation of SilverStripe, sharing users, content, and assets between them - the sites will be managed from a single CMS.
PHP currency manipulation package from the future. Still in very early development.
Surikat is a Full Stack Framework for Web Development.
Codeception is a modern full-stack testing framework for PHP. Inspired by BDD, it provides an absolutely new way of writing acceptance, functional and even unit tests. Powered by PHPUnit.
PHP library to use JSON files like flat-file database.
A primitive wrappers library for PHP.
Phake is a framework for PHP that aims to provide mock objects, test doubles and method stubs.
Rhubarb is an application development framework for PHP. Its focus is on allowing developers to build enterprise ready applications that are fast, scale well, allow for architectural rethinks late in the project and that maximise the potential for code reuse.
This package makes it easy to develop Composer packages while using them.
Essence is a very flexible BDD style assertion framework for PHP that fits into existing PHPUnit projects nicely.
Imanee is a simple wrapper library for Imagemagick on PHP (using the Imagick PHP extension). It provides an easy flow, and convenient methods for creating thumbnails, watermarks, text writing, animated gifs and more.
Mgr framework is a lightweight MVC PHP Framework which includes basic and commonly used components.
Wire up dependencies, routes and hooks in your Slim application and use Controllers as Services.
|Please help us by clicking to our sponsor:
From our sponsors:
So, how did you like this issue?
Protect your PHP code with SourceGuardian. Free trial.