|Hello PHP fans, here is this weeks packed edition of phpweekly.com.
Want to get involved in a Reddit discussion taking a brief look back to the days when the PHP community started to get "enterprise ready"?
Want to take a sneak peek at Aura Dispatcher?
Want to learn about Gearman? Clustering?
Then you have come to the right newsletter.
Plus, if you would like to present at the PHP Day Conference in Verona next year the call for papers is now open.
Remember, if you have read or written any PHP related pieces, we are always interested in hearing about them.
Understanding Zend Framework 3 Before It's Out
Manuel Stosic has a new post talking about the upcoming Zend Framework 3, which is still many months away. He reasons the importance of understanding what changes will be introduced and why. Zend Framework 3 Ideas on Google Moderator will help you to follow the development and keep track of discussions about the coming changes, while Google Hangouts is the ideal place for developer discussions.
An interesting thread on Reddit, started by timoh, who suggests now is a good time to take a brief look back in the days when the PHP community started to get "enterprise ready". He has successfully provoked some discussion about how we have come to the current point of life we now have going on in the PHP field.
A Peek At Aura v2 -- Aura.Dispatcher
Paul Jones gives us a sneak peek at Aura.Dispatcher, talking about it as a combined extraction from three separate packages.
Tutorials and Talks
Using Google Translate API with PHP
Jacek Barecki has a tutorial on SitePoint PHP showing you how to use the Google Translate API to handle the translation of dynamic input that may have come from other sources. After going through this tutorial you will be able to fetch translations from the Google Translate API right from your app. You will learn how to gain access to the API, how to use it and how to handle errors if they occur.
Incorporating Mongounit into Multi-datasource Models with Traits
Chris Saylor writes on the Zumba Engineering site - A while back we open sourced Mongounit, a PHPUnit extension for testing models utilising mongodb. One key issue that we’ve discovered as we incorporate MongoDB into more of our data models is that extending Mongounit’s TestCase class limits that unit test towards Mongo only as the datasource. Since only a portion of our data is in Mongo while the remaining is in MySQL, limiting a test case to work with one datasource or another is too limiting.
Building A Web App with Symfony 2 - Finalising
In Part 1 and Part 2 of this series, Taylor Ren covered the basics of using Symfony 2 to develop a functioning web site. In this part of the tutorial he covers some more advanced techniques and finishes the project with pagination, image watermarks and NativeQuery. The code he'll be using is identical to the code from Part 2 – the features are already there, they just weren't discussed.
HHVM With Symfony 2 Looks Amazing
Facebook recently announced that their HHVM is now more compatible with most of the popular framework. On the Liip blog, Christian Stocker posted his findings after working with Symfony2 on the HHVM, based on Facebook's work around the HipHop version of optimised PHP.
DTracing a PHPUnit Test: Looking at Functional Programming
Christopher Jones has posted a quick example of using DTrace Dynamic Tracing to work out what a PHP code base does. He thought this would be a good time to fire up DTrace and see what is going on. Since DTrace is "always available" even in production machines (once PHP is compiled with --enable-dtrace), this was easy to do.
Practical PHP Refactoring: Encapsulate Downcast (and Wrapping)
On the dzone site, Giorgio Sironi has posted - In statically typed languages, each variable must have a minimal type known at compile time. PHP instead, a is dynamic language where variable can contain any object and the only enforcement of an interface can be performed on method parameters via type hinting.
Introduction to Gearman - Multitasking in PHP
Gearman provides a distributed application framework for work with multiple machines or processes. It allows applications to complete tasks in parallel, to load balance processing and to call functions between languages. The framework can be used in a variety of applications. Gearman is multi-threaded and is known to be able to carry out 50 thousand jobs per-second. On the SitePoint PHP blog there is an introductory tutorial showing you how to use Gearman in PHP to handle multitasking outside of the normal script execution.
Introduction to Clustering in PHP
In Part 1 of this tutorial, an extremely simplified definition of clustering would be having multiple computers working together for a single goal. Typically you see it with distributed computing applications (network rendering of graphics, protein folding, etc.), but in the web world it is defined as having multiple servers providing a website or service. In practice, however, this can be more complicated especially when coupled with incorrect ideas around what clustering truly is.
Mapping with Geocoder PHP and Leaflet.js
In his last post, Anthony Ferrara talked about revisiting the concept of Design Patterns and questioned how useful it is to "learn" them. The conclusion drawn was that you are better served by focusing on how objects communicate rather than traditional patterns. With that not the only "traditional concept" he believes we should move beyond. So let's talk about inheritance...
|News and Announcements
True North PHP Conference November 7-9th 2013, Toronto Canada
The True North PHP Conference begins today. There are still some tickets available for this 3 day event, so get one quick.
php Day Conference May 16-17th 2014, Verona
Call for papers is open! Submit your proposals now.
SymfonyCon December 10-14th 2013, Warsaw
SensioLabs is proud to announce the first SymfonyCon. In the city of Warsaw in Poland, this week long event will feature a two-day workshop, followed by a two-day conference and ending with a hacking day. Register now.
PHPBenelux Conference 24-25th January 2014, Antwerp
The conference and tutorials will take place at Hotel Ter Elst in Antwerp (Belgium). Friday morning January 24th there will be a set of tutorials. The conference is spread over 2 days: Friday afternoon (after the tutorials) and Saturday. Tutorials as well as the conference itself are spread over several parallel tracks. On Friday evening there will be the conference social. This will include drinks and all the cool side activities which will be announced soon. Get your Early Bird tickets now.
Voices of the ElePHPant
It's the Booze Talking #5 - PHP Community....again (Part #1). This latest podcast session was recorded at the ZendCon conference in Santa Clara, in September. Featured guests include Adam Culp, Michelangelo van Dam, Davey Shafik, Eli White and Chris Tankersly, all moderated by the infamous Cal Evans.
dev/hell Podcast - Episode 36: Maybe PHP Isn't as Lame as We Thought
Listen to the latest Dev/Hell podcast, hosted by PHP community members Chris Hartjes and Ed Finkler. Hear their take on what's exciting in PHP nowadays and upcoming appearances at various PHP conferences.
Keynoting at ZendCon Europe
Davey Shafik will be in Paris in a couple of weeks time, giving the closing keynote at ZendCon Europe entitled The Evolution of DevOps. Here's a teaser.
WordPress Security Fundamentals: Protect Your Website from Hackers and Identify WordPress Security Issues (by Blake Webster, published 21st October)
Around 17% of the world’s websites are powered by WordPress and hacking attempts on WordPress sites are on the rise. WordPress Security Fundamentals is a no-nonsense guide that will help you to identify, eliminate and protect your WordPress website from malicious hacking attempts.
Debian 7: System Administration Best Practices (by Rich Pinkall Pollei, published 25th October)
This book provides valuable background information, tips and advice on the major areas of installing, maintaining and administering Debian Linux, from single systems to clusters. Learn what makes Debian the most stable and popular Linux distribution for Internet sites.
Instant Premium Drupal Themes (by Pankaj Sharma, published 25th October)
Learn how to create visually stunning themes to add the wow factor to your Drupal sites. Understand commonly used Drupal terminology, tools and conventions of Drupal and configure raw HTML in a Drupal environment quickly and efficiently.
If you have a position that needs filling, let us know and we will include it.
Developer at Sailthru (New York City)
We're searching for a talented developer who can take the challenge of scaling architectures and dive into leading technologies. You'll have the opportunity to work with a great team, in the heart of New York City and with great benefits such as working from home. Send your resume to Federico, [email protected].
Software Engineer (PHP) London
This role involves working in an agile software engineering team across a number of products including transactional web-sites and a high capacity, high availability, content management system that supports global online activities. Combining strong technical analytical skills, domain and product knowledge with effective planning, they will participate in the development of key backend business logic components of web applications that drive online web properties
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.
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
Symfony2 bundle to manage and monitor PHP gearman jobs and queue. Supports a namespace definition for all project jobs. It will not conflict if you have two symfony2 projects deployed using gearman queue and it also simplifies a deployment process. Can generate you a supervisor daemon conf to ensure your worker gets respawned in case of fatal error in php.
Wei is a micro-framework, providing powerful and simple APIs for faster and easier PHP 5.3+ development.
Webcreate\Vcs is an interface for PHP, working with various version control systems like SVN, GIT, etc. This library was created as part of Conveyor.
PHP Active Record for MySQL -- PHP, AR, ORM, DAO, OMG! It generates models based on your schema and its closure based query processing and ability to handle large datasets make it powerful and flexible. Its included web interface and ease of development make it a joy to use.
A PHP library for handling chunk uploads. It contains helper methods for testing if uploaded file chunk exists, validating file chunk, creating separate chunks folder, validating uploaded chunks and merging all chunks to a single file.
Adds the ability for users to control the default CMS preview mode and size for their login.
php-opencloud is a library for developers using PHP to work with OpenStack clouds. Since the library was developed at Rackspace, it works with the Rackspace public and private cloud and should also work with other OpenStack-based clouds with minimal effort.
PHP library to get info and embed any web page (using oembed, opengraph, twitter-cards, etc). It's compatible with any web service (youtube, vimeo, flickr, instagram, etc). Has adapters to some webpages like (archive.org, github, deviantart, etc). Requires PHP 5.3+.
This library contains useful helpers for easing internationalisation in a PHP application.
The AWS SDK for PHP enables PHP developers to easily work with Amazon Web Services and build scalable solutions with Amazon S3, Amazon DynamoDB, Amazon Glacier and more. You can get started in minutes by installing the SDK through Composer, or by downloading a single zip or phar file.
The Iniscan is a tool designed to scan the given php.ini file for common security practices and report back results. Currently it is only for use on the command line and reports the results back to the display for both Pass and Fail on each test.
Elasticsearch PHP integration for your Symfony2 project using Elastica. For Symfony 2.0.x projects you must use a 1.x release of this bundle. Please check the bundle tags or the Packagist page for information on Symfony and Elastica compatibility.
Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs. Slim is easy to use for both beginners and professionals. Slim favours cleanliness over terseness and common cases over edge cases. Its interface is simple, intuitive and extensively documented — both online and in the code itself.
Gutscript is a language that makes your life easier, allowing you to write less code to produce equivalent PHP code. Gutscript compiler is written in Go, which is 10+ times faster than PHP. Therefore the compilation is fast and of course you can compile sources concurrently.
PHP Domain Parser is a Public Suffix List based domain parser implemented in PHP.
A Twitter API library written in PHP.
A HUGE thank you this week to Chris Cornutt and all at phpdeveloper.org for their invaluable help and contributions to this newsletter.
So, how did you like this issue?