Welcome to this weeks PHPWeekly news.
The latest security releases have been announced by the PHP development team. PHP 7.0.6, 5.6.21 and 5.5.35 are all available now.
Also this week, if you are interested in the latest packages and tools, check out this months edition of Sourcehunt on the SitePoint blog.
Stefan Koopmanschap, of PHP Benelux, has been interviewed this week on the Cloudways blog, sharing his career and speaker experiences, plus his work with Zend and Symfony.
Plus we have a tutorial on how to process tweets in real-time from a Laravel app.
And finally, Taylor Otwell joins the Laravel News podcast this week to tell us all about Spark!
Have a great weekend,
Cheers
Katie and Ade |
We love our sponsors. Why not try them?
|
Articles
Heroes of PHP™ #2
Following the first part of my “Heroes of PHP”™, I subsequently posted the second of my 24 “Heroes of PHP”™ on Twitter. As with the first list, I’m reproducing that second set of Heroes here, together with some additional explanation about why these individuals mean so much to me.
Sourcehunt: Cron Management, Hackathon Starters, PHP-GUI…
Ready for a new edition of Sourcehunt? Get those starring-fingers ready!
Go PHP 7 - Our Commitment to Maintaining our Open Source Projects
We built numerous free and open source projects over the past year. Since the primary goal of most of these projects is to improve the security of the PHP ecosystem, it's important for us to publicly formalise our release cycle and help answer the question, "Which version should we use and why?".
INI Directives Are Evil!
A few times, while evolutions were discussed for PHP 7, someone suggested a new feature could be optional, depending on an INI configuration directive - the idea being each user could then enable it or not. Still, the idea of directives that could change, sometimes deeply, the behaviour of a programming language… It scares me!
PHP High-Performance - Follow Up with Symfony/Jarves.io and PHP-PM
This is a follow up article on “Bring High Performance Into Your PHP App”, which went quite viral with over 100k visits. This does not only show that many people still struggle with PHP and its performance, but also that people are highly interested in a solution to these kinds of issues. PHP-PM could be one solution. But first things first. Over two years since my blog post about high-performance, things have changed dramatically.
Exotic PHP implementations: HippyVM, JPHP, Tagua VM, Peachpie
Traditionally PHP code is run on the official PHP implementation, officially known as Zend PHP. Since the launch of Zend Engine 1.0 in PHP 4 way back in the year 2000, Zend has evolved significantly, but deep down it's still the same scripting engine written in the C language. With the launch of PHP 7.0 in late 2015 Zend Engine III added both new features and offered significant performance improvements. Being up to two times as fast in real life applications without code changes is a big win. |
Tutorials and Talks
Contributing to PHP: How to Fix Bugs in the PHP Core
Previously, we covered contributing to PHP’s documentation. Now, we will be covering how to get involved with PHP’s core. To do this, we will be looking at the workflow for fixing a simple bug in the core.
On Deprecating ServiceLocatorAware
A month or two ago, we pushed a new release of zend-mvc that provides a number of forwards-compatibility features to help users prepare their applications for the upcoming v3 release. One of those was, evidently, quite controversial: in v3, zend-servicemanager no longer defines the ServiceLocatorAwareInterface, and this particular release of zend-mvc raises deprecation notices when you attempt to inject a service locator into application services, or pull a service locator within your controllers.
First Look at Pagekit CMS – Clean, Extensible, Fast, But…
Pagekit hit version 1 recently, and as I’d been looking at personal blogging engines, I thought it’d only be fair to check it out. Granted, blogging is merely a subset of the functionality Pagekit can offer, but a good basic test-drive subset nonetheless.
PHP Memory Usage & Unnecessary String Concatenation
As PHP developers, especially if like me you don’t come from hard-core Comp Sci background, we are initially trained not to worry about memory. We do not allocate it, do not release it – in fact, we rarely even worry about closing files and DB connections, and we hardly ever care, as many C programmers would, about the real-memory size of the different variable types we use. However, it is also important to be mindful of the fact that most PHP servers are memory-bound. That is, a Web server running Apache or nginx and a pool of PHP processes (whether these are `php-fpm` processes or mod_php Apache forks) is most likely limited by how much memory is available to spawn more PHP processes.
Notable PHP Package: PHP Search Large Files
PHP provides a great set of functions for manipulating and searching text. However, the text to be searched needs to be loaded in memory as string. If you need to search text in large files, the regular PHP string search functions will not do, because it may exceed the configured PHP memory limits. The PHP class provides clever solutions to overcome the limitations of PHP string search functions so it can work on text from large files. It can even perform regular expression matching on large text files. Read this article to learn more details about how this notable PHP package works.
How To Connect to PHP-FPM Directly to Resolve Issues With Blank Pages
Seeing blank pages when using Nginx and PHP-FPM can be frustrating. The following quick guide will show you how to connect to PHP-FPM directly so that you can determine if it is the reason for the blank pages.
Multi-Project Issue Tracking With Producer
With Producer, you can get a list of the open issues from your remote origin by running producer issues from the project repository. However, I’m the lead on about 40 different packages and projects, and at one point or another many of them have issues to be tracked on Github. It’s tedious to go to each package repository to list its issues separately. I want to be able to see a list of all issues on all my projects; then I can review them all at once to see what gets my attention.
DI Factories for Slim Controllers
When using classes for route actions in Slim 3, I recommend using a single class for each route. However you can use a single class for multiple routes.
How To Process Tweets in Real-Time with Laravel
This tutorial will show how to use the Twitter Streaming APIs to process tweets in real-time from a Laravel application.
Analysis of PHP7
Sometimes checking a project one more time can be quite amusing. It helps to see which errors were fixed, and which ones got into the code since the time it was last checked. My colleague has already written an article about PHP analysis. As there was a new version released, I decided to check the source code of the interpreter once again, and I wasn't disappointed - the project had a lot of interesting fragments to look at.
The New Symfony Documentation Search Engine
Symfony boasts one of the largest documentation pools ever written for an Open- Source project. Considering the ten different Symfony versions (from 2.0 to master) and including the code samples, Symfony documentation has around 3.6 million words, more than three times the word count of the entire Harry Potter series.
Transducers in PHP Made Easy
Have you heard of functional programming, high order functions, etc. before? Probably, right? However, when you hear “transducers”, do you know what those are?
How to Authenticate Users With Twitter OAuth 2.0
In this tutorial, you will learn how to use Twitter API 1.1 and OAuth 2.0 to authenticate users of your application and publish a test tweet.
Using Microsoft Visual Studio as PHP IDE with the PHP Tools extension: Part 1 PHP Editing Support
Microsoft Visual Studio is a very popular IDE among developers using Windows, but it does not come with built-in support to PHP. On the other hand, 75% of the PHP developers use Windows when they are developing their PHP projects. Fortunately for Visual Studio fans there is an extension called PHP Tools that adds PHP support to that IDE and works with the Micros. Read this first part of the article to learn how to use the PHP Tools extension, so you can setup and edit PHP code projects from Visual Studio.
Writing SQL that works on PostgreSQL, MySQL and SQLite
I am one of those crazy people who attempts to write SQL that works on SQlite, MySQL and PostgreSQL. Well, it turns out that this is actually not super easy. There is such a thing as Standard SQL, but all of these databases have many of their own extensions and deviations. The most important thing is that this will likely only work well for you if you have a very simple schema and simple queries. Well, this blog post is not intended as a full guide, I’m just listing the particular things I’ve run into. |
News and Announcements
PHP 7.0.6 Released
The PHP development team announces the immediate availability of PHP 7.0.6. This is a security release. Several security bugs were fixed in this release.
PHP 5.6.21 is Available
The PHP development team announces the immediate availability of PHP 5.6.21. This is a security release. Several security bugs were fixed in this release.
PHP 5.5.35 Release
The PHP development team announces the immediate availability of PHP 5.5.35. This is a security release. Several security bugs were fixed in this release.
WordPress 4.5.1 Maintenance Release
After about six million downloads of WordPress 4.5, we are pleased to announce the immediate availability of WordPress 4.5.1, a maintenance release.
Italian PHP Conference - May 13-14th 2016, Verona
2 days, 2 tracks, 20+ international speakers dedicated solely to PHP development, technologies and management. With talks about design, project management, agile and various PHP-related technologies like Zend Framework2, Symfony2, Laravel, Drupal, Wordpress. Tickets are on sale now.
China PHP Conference - May 14-15th 2016, Beijing
This two day event in Beijing will host over 700 PHP developers and technical managers. Several PHP experts have already been confirmed to speak, including Rasmus Lerdorf. Tickets are on sale now.
WeCamp - 23rd-27th August 2016, Island De Kluut, Biddinghuizen NL
WeCamp 2016 is 5-day coding retreat on a private island. You will be teamed up with 4 others and a personal coach to create fantastic software. In five days time, you will go from a new software concept to the working product and experience all stages of the process. Tickets are on sale now. |
Podcasts
PHP Articles Report April 2016 Edition
This is the April edition of the podcast hangout recorded by Manuel Lemos and Arturs Sosins, to comment on the latest outstanding PHP Articles published recently. They commented on articles about PHP source code protection solutions, the parallax WordPress theme, email verification solutions, PHP 7 backwards incompatible changes and new features, and fast debugging methods using PHPEd.
Voices of the ElePHPant - Interview with Juliette Reinders Folmer
This week Cal talks to PHP community member Juliette Reinders Folmer.
Three Devs and a Maybe Podcast - Queued Work with Matt Davis
On this weeks episode we are lucky to be joined by Matt Davis. We start off the show with discussion surrounding how Matt got into programming, the Symfony certification system and his experiences working with both Symfony and Laravel. With Edd’s recent guest appearance on Full Stack Radio just being released, we then touch upon this experience and the PostgreSQL topics covered. Following this we chat about working with external APIs, testing logic dependent on these services and how Matt has been using RabbitMQ and the Laravel Queue abstraction. This leads us on to discuss the concept of queued work in more depth, along with how to design computation in such a manner. Finally, we chat about the pros n’ cons of moving away from jQuery and back to vanilla JavaScript.
Acquia Podcast - BigPipe in Drupal: Bigger, Better Performance for Free
Wim Leers, Senior Software Engineer in the Acquia Office of the CTO (aka “OCTO”), has been busy in the last few years making Drupal 8 amazing! His contributions include working with Fabian Franz on aspects of Drupal’s new caching and rendering systems to make Drupal 8 performant. Today’s podcast is a conversation he and I had about who he is and what he’s been up to following our own collaboration preparing my own post on BigPipe.
MageTalk Magento Podcast #90 - That one with Alan Storm (feat. Alan Storm, duh)
It took nearly 2 years but we FINALLY LANDED ALAN STORM!!
Free The Geek Podcast: Episode 17 - Talking Conferences and Security with Chris Cornutt
In this episode I chat with Chris Cornutt, founder of PHPDeveloper.org, websec.io, and Lone Star PHP about conferences and all things security. It’s a rousing chat about the state of security within the PHP and wider development community. He also gives me an inside look at what it’s like to run the long-running Lone Star PHP conference in Texas.
Laravel News Podcast LN 14: Laravel Spark
This week Taylor Otwell joins us to talk all about Spark!
The Laracasts Snippets Episode 23 - The Alien
This week's episode takes a detour, as we discuss the alien living inside my wife's belly.
Zend Framework Quick Bites Episode 8 - Zend Expressive Routers (Aura.Router)
In this episode, I’m giving a quick overview of one of Zend Expressive’s two, non-default, routing packages - Aura Router. Part of the Aura project, which is an independent collection of libraries, and originally designed for PHP 5.4 by Paul M Jones (@pmjones).
The John Morris Show Episode 78
The strange ethics of “sleazy” sales people you should steal. |
“PHP 7 Has Done Wonders For The Language”, Says Stefan Koopmanschap Of PHPBenelux
Stefan is the co-founder of PHPBenelux and speaker at many PHP conferences around the world. He has a vast experience of development. He was the community manager of Symfony framework, is Zend Certified and has also contributed to Zend Framework. He is the co-founder and trainer at Tech Academy and the podcast host at Dutch Web Alliance.
Visiting Copenhagen and attending the Varnish Summit
The lovely people of Varnish Software invited me again to speak at the Varnish Summit in Copenhagen. Last year, I also got invited to speak at their Summit in Amsterdam and apparently they were happy with my performance. The Varnish Summit in Copenhagen took place on April 21st at the Carlsberg Museum & Business Center. I’m not a beer fan at all and I don’t even drink alcohol, but that Carlsberg venue was pretty awesome! In essence this was a business trip, but I decided to bring my family and turn it into a family trip as well. Here’s the video of the trip report.
Learning Drupal 8 (by Nick Abbott & Richard Jones, published 30th Jan 2016)
If you want to learn to use Drupal 8 for the first time, or you are transitioning over from a previous version of Drupal, this is the book for you. Build complete, complex websites with no prior knowledge of web development entirely using the intuitive Drupal user interface, and follow a practical case study chapter-by-chapter to construct a complete website as you progress.
Pro PHP and jQuery Kindle Edition (by Keith Wald & Jason Lengstorf, 1st February 2016)
Updated for PHP version 7 and the latest version of jQuery, this book teaches some advanced PHP techniques and it shows you how to take your dynamic applications to the next level, by adding a JavaScript layer using the jQuery framework and APIs.
PHP CLI Kindle Edition (by Rob Aley, 5th February 2016)
Quickly create useful and effective Command Line software using the worlds favourite web language. If you want, or need, to create command line software and scripts using PHP, this book is a must buy. |
Jobs
Do you have a position that you would like to fill? PHP Weekly is ideal for targeting developers and the cost is only $50/week for an advert. Please let me know if you are interested by emailing me at [email protected] |
Interesting Projects, Tools and Libraries
deployer
Deployer is a free and open source deployment tool.
abimo
Abimo is a super lightweight and fast PHP MVP micro-framework.
clitools
CliTools for Docker, PHP/MySQL development, debugging and synchronisation.
phpbrew
Brew & manage PHP versions in pure PHP at HOME.
box2
The Box application simplifies the Phar building process.
hhvm
A virtual machine designed for executing programs written in Hack and PHP.
dcrypt
A library of essential encryption functions for PHP.
phansible
Phansible is a simple generator for Vagrant projects, targeting PHP development environments, using Ansible as Provisioner.
twig
Twig, the flexible, fast and secure template language for PHP.
psysh
PsySH is a runtime developer console, interactive debugger and REPL for PHP.
awesome-shell
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
charcoal-core
The charcoal-core module contains abstract classes and interfaces as well as basic functionalities to create a Charcoal Project.
fxmlrpc
A modern, super fast XML/RPC client for PHP >=5.4
knob-mvc
Knob is a PHP MVC Framework for creating templates for Wordpress.
asparagus
Asparagus is a SPARQL abstraction layer for PHP. It's design is inspired by the DBAL query builder.
security-advisories
The PHP Security Advisories Database references known security vulnerabilities in various PHP projects and libraries. |
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.
|
|