|Hi there PHP fans,
PHP, the programming language many of you love to hate, is experiencing a renaissance. Read about the changes that have recently been taking place, resulting in it becoming a more mature language.
With just a month to go until PHP Code Craft kicks off in South Africa, there is still time to get your tickets and make your travel plans.
Cal Evans and the Voices of the ElePHPant team bring us not one but two interviews this week, talking to Larry Garfield about Drupal 8, and all things Aura with Paul Jones.
Plus the dev/hell team have been chatting to Sean Coates about deploying web applications, Composer, mentoring and how to get accepted as a conference speaker.
Thanks for the feedback we have recently received from some of our subscribers, it's great to hear your opinions on phpweekly.com. Keep them coming :)
Have a good weekend,
The New PHP
PHP, the programming language many love to hate, is experiencing a renaissance, with improvements and new standards. This is not your parents’ PHP. The new PHP is a more mature language with community standards, a growing affinity for interoperable components, and a passionate movement to improve performance. If you have bypassed PHP for alternative languages, or if you are a PHP veteran unaware of recent changes, you owe it to yourself to give PHP a second look.
HHVM vs Zephir vs PHP: The Showdown
Since its inception, the slow running speed of PHP has been widely publicised and, over the years, there have been a number of improvements. The first Zend Engine arrived with PHP4 and delivered various performance enhancements. Each release since this time has delivered some sort of increased efficiency in one way or another. The core has adopted the Zend OPcache for future versions of PHP, Facebook has been working on a just in time compiler called HipHop VM and the team that brought us Phalcon framework have created Zephir. All of these projects have chosen to tackle the issue of PHP's speed via different avenues. It has therefore left one simple question - who's making the biggest improvements? Who's the fastest?
Welcoming New Sitepoint.com Authors 2013/2014
Over the past few months several new authors have signed up to SitePoint.com. These authors are here to teach and to learn, to contribute to the quality SitePoint is known for and to spread the knowledge they’ve accumulated throughout their PHP adventures. This post will briefly introduce them and list their SitePoint accomplishments thus far, in order of appearance.
Top 8 Debugging Tools for PHP Programmers
Debugging Tools play an important role in development. These tools help to make the development process simple and more effective.
From our sponsors:
Tutorials and Talks
Installing PHP Extensions on Nitrous.io
Inspired by a comment on his previous article 'Getting Started with Laravel on Nitrous.io', Bruno Skvorc realised that Nitrous was still a bit too complicated to customise properly. In this tutorial, he glides through installing cURL and Phalcon on a Nitrous.io PHP box.
Using An Azure Database from PHP on Linux
The cloud is the newest buzzword in all things development, and there are many different options for utilising the nebulous cloud. Amazon Web Services, Microsoft Azure and Digital Ocean (just to name a few) are some providers that give you various levels of cloud computing. While all three give you Virtual Private Hosting, Microsoft has stepped up their offering.
Auto Injecting Dependencies in PHP Objects
It took Gonzalo Ayuso a while to come up with a decent title for this post. While it's not the most descriptive of titles, he wanted to use the simple idea of automating the Hollywood Principle (“Don’t call us, we’ll call you”).
Using MySQL Fabric From Any Programming Language
MySQL Fabric is a framework for MySQL Replication high availability, automatic failover and sharding. Technically, a MySQL Fabric daemon monitors a set of MySQL servers and takes appropriate actions upon failure. Clients use Fabric aware drivers to learn about failed servers and shards to distribute queries accordingly. Simple to understand, simple to sell, simple to raise false expectations and simple to fail [, dear Sales]. With the usual blog posts telling only the story of the first three sentences, major parts of the story are covered in silence.
Functional Testing in Symfony2
In his previous article, Taylor Ren demonstrated how to load sample data into a Symfony development environment. The test data may not be useful as it stands on its own. When coupled with Functional Testing, however, it becomes a life saver.
How to Use a Webcam To Take Pictures in PHP Application
Basic PHP Form Validation
A quick tutorial showing how easy it is to validate form data with php. This can help cut down on spammers, and it can help to ensure that email addresses are at least formatted correctly.
Symfony2 Components Overview: Validator
In the first five posts of this series we have been talking about key components for any PHP framework from the point of view of their internals, such as HttpFoundation to abstract the HTTP protocol, HttpKernel to convert a Request into a Response, Routing to map requests to controllers, EventDispatcher to add reusability and extensibility, and Config to load and validate configuration values. This time we’ll delve deeper in the user space to describe a component that is for specific apps rather than just for frameworks. Today’s topic will be the Validator component.
HHVM: Tracking Parity
HHVM has a large suite of unit tests that must pass in several build configurations before a commit reaches master. Unfortunately, this test suite passing doesn’t tell you if HHVM can be used for anything useful – so we periodically run the test suites for popular, open source frameworks.
Persisting Value Objects in Doctrine
Ross Tuck has been using more and more Value Objects in his applications over the last year, primarily with Doctrine ORM. Value Objects are an extremely powerful technique and he has been impressed with how much they can clean up a codebase. One of the main questions he had when starting with Value Objects is how to persist them with Doctrine. This post attempts to create a reference for all the different persistence techniques he has seen so far.
Lessons Learned Implementing AES in PHP using Mcrypt
The Advanced Encryption Standard (AES) is the successor of triple DES. When you need a standardised, secure, high performance symmetric cipher it seems like a good choice. Wi-Fi network traffic is encrypted with AES for instance. Also when you want to securely store data in a database or on disk you could choose AES. Many SSDs store data internally using AES encryption. PHP supports AES through “mcrypt”. On Debian based systems (like Ubuntu and Mint) you can install it using “sudo apt-get install php5-mcrypt”.
|News and Announcements
PHP Code Craft 4th and 5th April 2014, Johannesburg
Just a month to go until PHP Code Craft kicks off in South Africa. Two days of top international and local speakers, amazing talks and evening socials, with Rasmus Lerdorf as conference keynote. For advanced developers there is an additional one day event on April 12th in Cape Town, the Advanced Craft Session.
International PHP Conference June 1st to 4th 2014, Berlin
The International PHP Conference is a globally recognised event for PHP developers, webworkers, IT managers and everyone interested in web technology. Once again, the conference will explore key topics and core technologies for developers and decision makers. Learn how to scale your applications, explain the details of Continuous Integration or evaluate different approaches to NoSQL
PHP Tour Lyon June 23rd and 24th 2014, France
The PHP Tour Lyon 2014, organised by AFUP, the French PHP Users Association, will be held on June 23rd and 24th. This PHP Tour event is a conference that moves all around the country, and this year it will be held at the Université Jean Moulin Lyon. With Rasmus Lerdorf and Damien Alexander among the guest speakers, get your tickets now.
Voices of the ElePHPant - Interview #1 with Larry Garfield : Drupal 8 & PHP 5.4
Recorded live at Sunshine PHP 2014, this is Part 1 of Cal Evan's interview with Larry Garfield, talking about Drupal 8 and PHP 5.4.
Unit Testing by Example @ ConFoo
A talk given last month by Anna Filina, at the 2014 ConFoo Conference in Montreal. Anna's step-by-step approach allows less experienced developers to learn and advance.
dev/hell Podcast Episode #40: Poly Life Mentoring
PHP community members Ed Finkler and Chris Hartjes have released their latest episode, talking to Sean Coates about deploying web applications in various languages, the impact Composer has had on PHP development, formal and informal mentoring, and how to get accepted to speak at conferences.
Interview With Mike Lopez: How to Build Scalable PHP Applications Using Object-Oriented Programming (OOP) Concepts
In this video, Mike Lopez of WishList Products explains to John Morris how to use OOP concepts to make your applications scalable, and the kind of headaches you can avoid doing so.
Voices of the ElePHPant - Interview with Paul Jones
Cal Evans chats to lead developer on the Aura PHP framework, Paul Jones.
If you have a position that needs filling, let us know and we will include it.
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.
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@example.com 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 firstname.lastname@example.org 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@example.com 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
A PHP Wrapper around Feedly's REST API.
Guzzle is a PHP HTTP client & framework for building RESTful web service clients.
A basic but flexible tree data structure for PHP and a fluent tree builder implementation.
A PHP 5.5 microframework based on generator-style middleware.
Extensive, portable and performant handling of UTF-8 and grapheme clusters for PHP.
A micro PHP 5.4 Modular MVC framework, that contains only the libraries to get you started.
Altax is an extensible deployment tool for PHP.
Elegant SSH tasks for PHP.
A minimal trait to decrease getter/setter boilerplate.
The Extensible Macros Library for PHP.
A simple event manager for event driven applications.
A PHP library for sending push notifications via the Pushwoosh service.
A Fun PHP Minifier.
PHP Value Object library.
CLIFramework is a command-line application framework for building flexible, simple command-line applications.
Transparent method cache for PHP and Redis.
SHorthand for MOCKing in PHPUnit.
So, how did you like this issue?