|Hello PHP Fans!
After last weeks article on the PHP vs Node.js Smackdown, SitePoint.com editors Bruno Škvorc and James Hibbard take a light hearted look at each of the rounds.
Plus with plenty of Summer conferences coming up, Lorna Mitchell offers advice on the best way to submit your talks.
Also this week, we bring you part two of the Refactoring the Cat API client series, and part two of the Build a Custom WordPress User Flow series.
And the Lately in PHP Podcast team asks the question Can PHP Run Faster as a Module of NGINX?
Finally, Zeev Suraski shares his keynote speech from WordCamp Europe 2015, looking at the evolution of PHP's major versions and how PHP 7 came to be.
Hope you enjoy this weeks edition. As always, any comments are happily welcomed ;)
Katie and Ade
We love our sponsors. Why not try them?
With just a few lines of code, Clarify gives you the power to search and understand any audio and video from phone calls to news broadcasts to conference presentations. Get started today.
PHP vs Node.js Smackdown: Right of Reply
Introduction to PHP Security – Part 1
It is a question that has daunted software engineers for decades: how secure is my software application? Modern web application development has evolved to a point where one can build and launch an entire product or company revolved around a full-fledged software-as-a-service. This blog explores frequent channels of attacking and exploiting a PHP application.
So You're Thinking Of Submitting A Talk
Having been a conference speaker for several years, Lorna Mitchell is often asked for advice on submitting talks. Here she offers some words of wisdom.
Tutorials and Talks
Using the Gateway Pattern in PHP to Access Common Data From Anywhere in Your Application
All applications need to access common data from different parts of the code. The Gateway pattern defines a clean approach for accessing application common data from anywhere in your code. Read this article to learn more about the gateway pattern, and how you implement it to access common methods and properties from any part of your PHP application code following the OOP principles, as well as how it can be used to implement other well known design patterns.
Caching Hat-trick: Varnish, Memcached and PHP Libraries
Previously, we looked at some common caching mechanisms we can easily utilise to make our apps faster. In this part, we’ll walk through some of the additional software that we can use with PHP for caching.
Refactoring the Cat API client - Part II
When you're running unit tests, you don't want the world itself to be involved. As we saw in the previous part of this series, both the CachedCatApi and the RealCatApi classes are in some way dependent on the world. The first writes actual files to the filesystem, the second makes actual HTTP requests.
Using Lumen Without Facades
Lumen is a lighter version of Laravel with a few key changes, one of which is that, by default, "facades" are not enabled. What this means is you can't write Example::whatever(). Find out more about that in this article.
Using PHP Object Interfaces
When you are sharing code with closely related objects, you use class abstraction. When you want to provide class templates for broadly related objects, you use Object Interfaces. Read this tutorial to learn the different ways to implement interfaces and set up interface dependencies in PHP.
Creating a Z-Ray Plugin for Zend Server 8.5
Zend just released version 8.5 of their Zend Server application server. A major part of this release is the plugin gallery, which provides an App store for Zend Server extensions. These extensions can add application-specific debugging features to the Z-Ray Debugger.
PHP Date Localisation with Setlocale
Localising sites can be a chore, but PHP has the venerable setlocale() to use system locales. These are like templates, or profiles, that describe how various types of data should be displayed. Should a price have a comma or point to indicate the decimals? When printing a date should PHP output Monday or Montag?
Sexy Documentation from Markdown with Couscous and Tipue on Github Pages
Managing documentation for open source projects (or closed source, for that matter) can be a real pain. How do you create user-friendly, readable documentation that users can contribute to without having to be HTML ninjas?
Build a Custom WordPress User Flow - Part 2: New User Registration
In the first tutorial in this series on customising the WordPress login experience, we created a plugin that lets you replace your WordPress login screen with a custom page. Today, we will go a step further and replace the new user registration flow in the same way.
WP API and OAuth - Using WordPress without WordPress
In this tutorial, we’ll learn how to install and use WP-API with OAuth – a WordPress plugin which uses REST-like API endpoints to allow reading of WP content to unauthenticated users, and writing of WP content to users who authenticate via OAuth (or via Cookies for themes and plugins).
Implementing Two-Factor Authentication in PHP
In this tutorial, you will learn how to implement two-factor authentication in PHP. Two-factor authentication is a type of authentication that "provides unambiguous identification of users by means of the combination of two different components." These authentication components could be something that the user knows, something that the user possesses or something that is inseparable from the user.
Accessing WordPress Data Using the New REST API
WordPress is, without doubt, the most used CMS system around. Various sources peg the usage around 20-30% of all web sites. Whatever the correct figure, there is no doubt that the collective content of WordPress sites is enormously large. However, almost all content is virtually held in independent WordPress sites with no way to easily access a site's content programmatically. Of course we have RSS feeds, but it is severely restricted and has a totally different purpose.
Start Testing Your Laravel Application Today
In this short tutorial I will show you how to write your first Laravel application test in no time.
|News and Announcements
Northeast PHP Conference - August 22nd-23rd 2015, Boston
The Northeast PHP Conference is a community conference intended for networking and collaboration in the developer community. Two days of talks ranging from starting work in the industry to expanding your skill set as an experienced user, there are sessions for everyone! General tickets are available now.
PHP Conference Asia - September 22nd-23rd 2015, Singapore
A new conference has been announced, the PHP Conference Asia. With Rasmus Lerdorf already confirmed, tickets will go on sale soon.
DrupalCon - September 21st-25th 2015, Barcelona
DrupalCon brings together thousands of people from across the globe who use, develop, design and support the Drupal platform. It is an action-packed week of all things Drupal and features a full schedule of educational, networking, and contribution opportunities. Tickets are available now.
PHP Barcelona Conference - 30-31st October 2015
The PHP Barcelona user group has announced this years PHP conference, with two days of amazing talks. The Call for Papers is open now, until the end of September.
Lately in PHP Podcast Episode 61 - Can PHP Run Faster as a Module of NGINX?
A recent article in the NGINX blog claims that its thread pools feature can enhance the performance by 9 times of that Web server. PHP core developers have been debating the pros and cons of implementing a new SAPI to make PHP work as NGINX module, and hopefully take advantage of the thread pools feature to enhance PHP request serving performance. This was one of the topics discussed by Manuel Lemos and Arturs Sosins in Episode 61 of the Lately in PHP podcast.
Voices of the ElePHPant - Interview with Jacques Woodcock
This week Cal Evans talks to the organiser of the Nashville PHP user group, Jacques Woodcock.
Laravel IO Podcast: Episode 31 - Public Speaking Preppers
In this episode, the crew discusses preparing for conference talks, vacationing and dreamy destinations!
Acquia Podcast: Sustainable Contribution 2/2 - Giving Back is The Same as Making Money
Part 2 of 2 - I spoke with John Faber, Managing Partner with Chapter Three, on March 17th, 2015. In Part 1 we talk about the business advantages of contribution and sustainability when basing your business on open source software. We also touch on Drupal 8's potential power as a toolset and for attracting new developers, doing business in an open source context, and more! This conversation was recorded via Google Hangout and hotel WiFi.
MageTalk Magento Podcast #51 - Bi-Polar Explosions [feat. Ben Marks]
Ben and Kalen recap MLUK15; complete with horrible cockney accents.
PHP Round Table Podcast Episode 25 - PHP 7 Release Management
We've seen 2 alpha releases of PHP 7 so far and the first beta release became available on July 10th. We might not put too much thought into what goes into each release of PHP, so for this episode we take a closer look at the release management processes for PHP 7.
Git Fundamentals for Web Developers
If you're a web developer looking to improve your git skills, Lorna Mitchell's recent project is a new screencast course, available now. Book by the end of the week and receive a 50% discount.
Laravel Sydney – Live with Jeffrey Way
The Laravel Sydney user group had a special guest in their latest meeting. At 5:30am, his time, Jeffrey Way, complete with blood-shot eyes and a massive coffee jar, did a live question and answer interview with the group led by Ben Corlett.
Zeev Suraski: The PHP 7 Story
PHP 7 is right around the corner, aimed to be released before the end of 2015. With the previous major release of PHP having happened more than a decade ago, it’s an exciting milestone in PHP’s history, that promises to bring both far-reaching performance boosts for real world workloads and a host of new features. In this keynote speech from WordCamp Europe 2015, Zeev shares the evolution of PHP’s major versions, the behind-the-scenes story of how PHP 7 came to be and its key benefits and features.
PHP5: Hypertext Preprocessor Simplified (by Feyisayo Dosunmu, published 3rd July 2015)
PHP Beyond the Web: Shell Scripts, Desktop Software, System Daemons and More (by Rob Aley, published 5th July 2015)
Leverage your existing web based PHP skills to write all types of software. CLI scripts, desktop software, network servers and more - this book will give you the tools, techniques and background necessary to write just about any type of software you can think of, using the PHP you know.
Helpling in Berlin is Looking for Experienced PHP Developers (m/f)
Helpling is one of the most dynamic start-ups in the vibrant centre of Berlin, Germany. It is our mission to provide our services as easily accessible and conveniently as possible. To achieve that, our service is available online and through our mobile app. Up to this point, Helpling is active in more than 200 cities in 12 countries around the globe. To enhance the technical architecture behind the scenes, we are currently looking for experienced PHP Developers (m/w) to join our highly professional and dynamic IT team in Berlin.
To post a job advert please contact email@example.com
Interesting Projects, Tools and Libraries
Static analyser for PHP.
This Laravel 5.1 package can cache an entire response.
A PHP twitter library.
Phactor is a high-performance PHP implementation of the elliptic curve math functions needed for EC keypair and ECDSA signature generation.
Markdown parser for PHP which supports the full CommonMark spec.
This build is intended for developers working with creating apps, modules, themes and language packages for PHPfox.
Ubivar is an API that takes over the hassle of screening e-payment for frauds.
Thruway is an open source client and router implementation of WAMP (Web Application Messaging Protocol), for PHP.
Squeezer is a minifier for PHP class files that will parse your directories to find valid classes, interfaces and traits and squeeze them into one file.
A tool that automates testing a piece of PHP code in isolation.
A CMS with minimal footprint written in PHP, following best practices in MVC architecture with the main objective to jump start web development by providing a clean and extensible environment.
Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
Icicle is a PHP library for writing asynchronous code using synchronous coding techniques.
A wrapper collection for GD library in PHP.
Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.
Mocka is clean, structured, but still very flexible mocking framework. It follows object-oriented guidelines to create mock classes, objects and their methods.
Knapsack is a collection pipeline library implementing most of the sequence operations proposed by Clojures sequences.
A petite library of essential encryption functions for PHP (5.3+).
A minimalist PHP 7.0+ library that provides core "modules" to facilitate creating small-to-medium sized PHP applications.
|Please help us by clicking to our sponsor:
From our sponsors:
So, how did you like this issue?
Protect your PHP code with SourceGuardian 10. Free trial.