|Hello, and welcome to your latest edition of phpweekly.
The PHP Development team continue to move swiftly with their PHP releases. This week sees PHP 5.4.20 and 5.4.4 released, and immediately available.
php[architect] have announced their Wordpress Summit, taking place in November. Whether you are a diehard WordPress developer who could use some new tricks, or you are a PHP developer who could benefit from some exposure to WordPress itself, this summit will have something in it for you.
Enjoy your week php fans, and remember all comments and criticisms are welcome ;)
Joind.in at the PHPNW Hackathon
It's that time of year again, the PHP North West conference is almost upon us, and this year they are once again running a hackathon. These events are a great way either to carve out some time to get your head down and hack on an idea that's been in the back of your mind for a while, but they're also a fabulous way to get involved in collaborating on projects. At PHPNW you'll find there are quite a lot of open source projects at the hackathon, standing by to take on anyone interested in getting involved, either just for the evening or beyond. Lorna Mitchell will be there, representing joind.in, a tool which is used by the conference itself. So what kinds of things will there be to do and how can you get involved?
PHP Unconference Hamburg 2013: Hungry for More
A day before the 7th edition of the PHP Unconference, in Hamburg, the caretaker of the venue called the organisers to inform them that their event could not take place. The space would be needed as a polling station for the german federal elections… Eventually, the polling station was moved to the 7th floor and, well, business as usual: 330+ visitors, ~70 session proposals, 32 high quality sessions run, ~40 Euros entry fee for what costs 400+ Euros elsewhere!
Tutorials and Talks
Continuous Deployment Revisited
David Shirey writes - In an earlier article I talked about what Continuous Deployment was and how it fits into the modern programming process. We took a small swipe at how it works, but some people (okay, one person) felt that I could have gone into more detail and they were right. So, here’s a more detailed description of how Continuous Deployment works in the trenches and how it can change your life.
Beyond Design Patterns
Many people teach design patterns as a fundamental step to Object Oriented Programming. They are so universally seen as important that almost every single 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? Let's talk it out...
Server-side React with PHP - Part 2
Part 1 ended with todos. The first one was to couple the server-side generated code with the client-side React, so that any updates past the initial page load will be handled by React's client JS, which is where React shines. Let's see how you can do just that.
Fast PHP Mass Mailer Smart Optimisations
Sending email messages to many recipients is a heavy duty task. But by using smart optimisations it is possible to send messages to millions of users in a reasonable amount of time from your own PHP server without consuming too much resource. Read this article to learn how the MIME E-mail message sending class efficiently sends personalised messages to many recipients.
Query Logging and Profiling in MongoDB
In my previous blog post I mentioned that the 1.5.0 release of the MongoDB driver for PHP has improved notification support using the PHP Notification API, and showed off a fairly useless (but fun) progress bar. Now its time for some more practical examples using this system: Query logging and profiling.
DropzoneJs + PHP: How to display existing files on server
In this tutorial, we will show you how to display existing files on the server when using DropzoneJs and PHP. This tutorial is based on 'How to build a file upload form using DropzoneJs and PHP'. Make sure you have read it before proceeding to content in this tutorial.
Build an image gallery with Pikachoose and PHP
Pikachoose is a lightweight jQuery image plugin, it comes with easy to use API and simple design. In this tutorial we are building a dynamic jQuery image gallery, which means users will upload images dynamically from a script and the front page will automatically show an image powered by Pikachoose. However, there is no database required as images are scanned from a particular folder.
Integrating impress.js into WordPress
Online presentation tools are rapidly gaining popularity over desktop presentations. Impress.js is one of the most popular open source libraries for creating amazing presentations using CSS transitions and transformations. Even though it’s a highly popular library, not many tools are available for generating presentations with dynamic content. So here we are going to integrate impress.js into WordPress for automating presentation creation. Throughout this two part tutorial, we will be developing highly customisable plugins, while building an impress.js presentation.
Setting Up PHP Behind Nginx with FastCGI
The traditional way of running PHP is with Apache HTTP Server using mod_php. In fact, mod_php was the most popular Apache module up until 2009 when that claim went to mod_ssl. But as the Internet grew and the technologies that power it evolved, other ways of serving PHP sites and applications became available. Nginx, a server written to solve the C10k problem, is eating into Apache’s marketshare, and running PHP behind nginx with FastCGI is becoming an increasingly commonplace alternative.
Order of Evaluation in PHP
If you're the kind of person that wonders more about the internals of PHP and how it works "under the covers" you'll find this new post from Nikita Popov a good read. It talks about how PHP handles its order of operations in more complex evaluation statements.
Sending automated emails with PHP, Swiftmailer and Twig
Gonzalo Ayuso has posted a new tutorial showing you how to combine PHP, Swiftmailer and Twig to send automated emails from your application.
ISO 8601 week dates
Derick Rethans has a new post with details about handling ISO 8601 dates in PHP via the DateTime functionality. It's a response to some bugs filed having to do with week numbering.
PHP Session Management and REST Based Applications
If you have done web development in the last few years, more than likely it has involved REST. Whether you are doing simple API calls for site integration, or driving your entire website from a REST based back-end, it is hard not to have used REST. Some modern frameworks like Backbone.JS make it super simple to throw together a site that communicates with the server solely via REST. However, for more complicated sites (that include sessions, security and the like), you might have noticed that the performance of the site seems to be quite a bit slower than you would expect. At this point, you might be saying "Hey, what gives? These frameworks are supposed to make things faster, not slower, right?" Indeed, you are correct, but there are some other underlying mechanics that are in play.
|News and Announcements
PHP 5.4.20 Released
The PHP development team announces the immediate availability of PHP 5.4.20. About 30 bugs were fixed. All PHP 5.4 users are encouraged to upgrade to this version.
PHP 5.4.4 Released
The PHP development team announces the immediate availability of PHP 5.5.4. This release fixes several bugs against PHP 5.5.3. All PHP users are encouraged to upgrade to this new version.
PHP-FIG Voting on PSR-4 Opened
The PHP-FIG has officially started the voting process for the PSR-4 autoloading standard that would provide an interface to make autoloading a bit more standardised across applications.
php[architect] Summit Series: Wordpress - November 14th 2013
WordPress is the largest and fastest growing web application framework in existence. It’s estimated to be running 25% of the world’s websites (and is measured to be handling 20% of the top 10 million websites). We’ve designed this summit to help expand your knowledge of WordPress as a development platform. Whether you are a diehard WordPress developer who could use some new tricks, or you are a PHP developer who could benefit from some exposure to WordPress itself … This summit will have something in it for you.
PHP Town Hall - Episode #12: Awesome RFCs and Yolo
Silex and PHP contributor Igor Wiedler joins Ben and Phil to talk about his recently accepted RFC: Importing namespaced functions along with a bunch of other super-nerdy things that he has been working on.
Instant Simple Botting with PHP (by Shay Michael Anderson, published 25th September 2013)
Instant Simple Botting with PHP is an easy-to-read book that will give you the knowledge required to design and develop ready-to-use bots. The book covers useful bot features that can be added to the bots created during the course of the book. Learn how to improve your efficiency as a programmer or software system administrator by unleashing the power of bots.
Build Gamified Websites with PHP and jQuery (by Detrick DeBurr, published 23rd September 2013)
Build Gamified Websites with PHP and jQuery aims at empowering and educating the users with an educational gamified website. The book walks through the process of developing a gamified website. Through the course of the book, you will learn gamification development processes. The book emphasises on the application of game mechanics to motivate the user.
If you have a position that needs filling, let us know and we will include it.
PHP Engineers for Runtriz.com in Hollywood, CA
We are looking for an experienced web developer to work on a small, productive team. Team members should be able to work full-time with a high level of focus and dedication. It's important that team members have a problem-solving attitude and can work through issues without needing a lot of help or guidance. We're looking for people who are always striving to learn new technologies and enjoy spending free time experimenting with and learning new development techniques and languages. If you feel like this describes you please click on the link for more info.
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.
Junior PHP Web Developer to support charity clients at Fat Beehive in London
Are you personable? A problem solver? Passionate about web technology and interested in charity and not for profit clients? Fat Beehive are looking to hire a junior PHP web developer! We are excited to be looking for a proactive developer, a natural problem solver, who will enjoy working with our not-for-profit clients, and be an integral part of our team.
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 firstname.lastname@example.org 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.
Performance Telecom (UK) seek freelancer (Remote worker) - Python and PHP Developer
This position is primarily Python, but PHP skills are also required.
Interesting Projects, Tools and Libraries
PHPMD - PHP Mess Detector
This is the project site of PHPMD. It is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly and easy to configure frontend for the raw metrics measured by PHP Depend.
PHP-Debug - A PHP open source debug library
The basic purpose of PHP_Debug is to provide assistance in debugging PHP code. By "debug" I don't mean "step by step debug" but program trace, variables display, process time, included files, queries executed and watch variables.
A lightweight PHP annotation library, it supports both weak and strong typed annotations, JSON included.
Gliph is a graph library for PHP. It provides graph building blocks and datastructures for use by other PHP applications. It is (currently) designed for use with in-memory graphs, not for interaction with a graph database like Neo4J. Gliph is designed with performance in mind, but primarily to provide a sane interface.
This Laravel package adds support for the 99designs PHP interface to the globocom Thumbor thumbnail service.
PHP Application Server based on pthreads
Appserver.io is an open source project with the goal of creating a stable, scalable and high performance platform to provide PHP developers services that are needed in virtually all major projects.
Essence is a simple PHP library to extract media informations from websites, like youtube videos, twitter statuses or blog articles.
Tool to deal efficiently with legacy code through creating and running characterisation tests automatically.
Official low-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in PHP; because of this it tries to be opinion-free and very extendable.
Syntara is an admin system for Laravel 4.
PHP translator with plural forms support. This library is compatible with node package translator.
Whoops is a PHP library for handling errors and debugging them. The library provides stack-based error handling with a good-looking error interface. It has a simple API for dealing with exceptions, trace frames + their data and can integrate with any framework (ready-to-use integrations exist for end and Silex).
Thanks this week to Stephane and Chris for their much valued input into making phpweekly.com the best it can be. Special thanks also to Dmitry for all his help over the past few months. We couldn't have got this far without you ;)
So, how did you like this issue?