|Hi There PHP Fans!
The PHP development team has recently announced the immediate availability of two new releases - PHP 5.6.29 and 7.0.14. You are encouraged to upgrade to these versions.
Also this week we find out what was new on Drupal.org in November, including how they continue evolving the tools they offer to the community, and the first instance of geo-targeting on Drupal.org.
We have part two of the PHP 7 Performance Improvements series, this week looking at free ints/floats in PHP 7.
Plus the team at Qafoo has created a free ebook, a curated collection of the most important blog posts to date.
And finally, CoderCruise is on the way! Following on from this years php[cruise], this seven day trip out of New Orleans will have three days of conferences at sea, followed by visits to various countries. Very much a family trip, the CoderCruise sets sail in July 2017. The Call for Papers is now open.
Have a great weekend,
Katie and Ade
We love our sponsors. Why not try them?
From our sponsors:
What’s new on Drupal.org? - November 2016
Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community. The engineering team at the Drupal Association had much to be thankful for in November. With the support of the wonderful volunteers in our community and the contributions of our Supporting Partners we were able to deliver some great tools for the project. Let's dive in and see what's new.
Independent Packages and Subtree Splits
You’ll sometimes see a PHP package hosted in a Github repository with the heading or subtitle “[READ ONLY] Subtree Split”. This indicates that the package is actually copied from another codebase (usually a framework) and is not intended to be worked on separately from that other codebase. As such, a “subtree split” is not necessarily a sign of an independent package.
Database Engines Ranking
DB-Engines.com provides some insight into some of the most popular database engines (312 of them to be precise). Nothing too surprising there – Oracle and MySQL leading the charts, but it’s nice to have the numbers and trends.
Why Aren’t You Speaking?
Earlier today, I asked on Twitter why technical conference attendees hadn’t been a speaker at a conference themselves. Here are a few of the responses and my advice.
PHPStan: Find Bugs In Your Code Without Writing Tests!
I really like how much productivity a web developer gains by switching from compiled languages like Java or C# to an interpreted one like PHP. Aside from the dead simple execution model (start, handle one request, and die) and a much shorter feedback loop (no need to wait for the compiler), there’s a healthy ecosystem of open-source frameworks and libraries to help developers with their everyday tasks. Because of these reasons, PHP is the most popular language for web development by far. But there’s one downside.
Tutorials and Talks
How To Fix Apache 2 Not Executing PHP Files
How many times have you set up a web server with Apache 2 only to find out that when you attempt to view a page with a .php extension, the page either attempts to save onto the local drive or it displays the PHP code in the browser? This is bad on multiple levels. First off, your website isn't functioning properly; even worse is the idea that someone could get a first-hand glimpse of your code, which is not only a frustration, but a possible security issue. Considering this is an easy fix, there's no reason to avoid working with PHP and Apache 2. But how do you fix it? Let me show you.
Roundcube 1.2.2: Command Execution via Email
Roundcube is a widely distributed open-source webmail software used by many organisations and companies around the globe. The mirror on SourceForge, for example, counts more than 260,000 downloads in the last 12 months1 which is only a small fraction of the actual users. Once Roundcube is installed on a server, it provides a web interface for authenticated users to send and receive emails with their web browser. In this post, we show how a malicious user can execute arbitrary commands on the underlying operating system remotely, simply by writing an email in Roundcube 1.2.2 (>= 1.0).
Building Your Startup: Notifying People of Meeting Updates
This tutorial is part of the Building Your Startup With PHP series on Envato Tuts+. In this series, I'm guiding you through launching a startup from concept to reality using my Meeting Planner app as a real-life example. Every step along the way, I'll release the Meeting Planner code as open-source examples you can learn from. I'll also address startup-related business issues as they arise. In this two-part series, I'll describe how we built the notifications infrastructure and their delivery. Today, I'm going to focus on the MeetingLog to track changes that help us determine when to send updates.
Auto Publishing to Telegram Using Notification Channels
Laravel Notifications are great when you need to send notifications out through a variety of channels. Based on the documentation the original use case for these is to send quick information messages that notify users of something that occurred in your application. For example, if you are writing a billing application, you might send an “Invoice Paid” notification to your users via the email and SMS channels. However, they don’t have to be restricted just those types of notifications. For example, on this site every time a new post is published I want it to go out to all the various social channels and the community has created a lot of drivers for various services.
New in Symfony 3.3: Added Support For Formaction and Formmethod Attributes
The DomCrawler component eases DOM navigation for HTML and XML documents, making it very useful for functional tests and web scrapers. One of its most popular features allows to fill in and submit forms. But first, you must obtain the object that represents the form via one of its buttons.
Project Documentation With Sculpin
Recently I've been reading the book Living Documentation by Cyrille Martraire. I can warmly recommend this book to you. It basically provides a solution for the age-old problem of creating and maintaining accurate, up-to-date and useful project documentation. One of the key ideas is to generate documentation instead of writing it. This should help prevent duplication and outdated information that is not trust-worthy and would therefore be neglected. I'm currently looking for ways to technically accomplish such a thing with PHP projects. This should result in reusable tools which will make it easier and more fun to document future projects while writing the code.
Using GDELT 2 with PHP to Analyse the World!
Are you interested in political world events? Do you want to play with one of the worlds largest databases? If you answered either of those questions with a yes, keep reading – this will interest you! This article follows up on the promise to use GDELT with PHP. I will show you a simple example of how to use GDELT through BigQuery with PHP, and how to visualise the results on a web page. Along the way, I will tell you some more about GDELT.
Dependency injection: Because var_dump should be useless
Do you remember the times when using var_dump() to inspect a variable did help? Not anymore! Thanks to frameworks and Dependency Injection those horrible times are over!
What’s New and Exciting in PHP 7.1?
The PHP community has gone viral with the latest PHP 7 announcement and all the goodies it brings to the language. The PHP 7.1 release has more good news and features to offer. This article highlights the most important ones, and you should check PHP RFC for the full list.
Improving the Performance of our PHP Based Crawler
Today a new major version of our homegrown crawler was released. The crawler is used to power our http-status-check, laravel-sitemap and laravel-link-checker packages. A new major feature is the greatly improved crawling speed. This was accomplished by leveraging multiple concurrent requests. Let’s take a look at the performance improvements gained by using concurrent requests.
Developing for PHP Scalability using Web Application Performance Testing of a Load
If your web site project is expected to handle many concurrent requests, then you must develop with scalability in mind, so you can eliminate or minimise down time. While there are many facets to scalability, load testing is how you prove your concept in development instead of crossing your fingers and hoping everything works out in production. Learn some of the basic concepts behind load testing, like bottlenecks, scaling, concurrent virtual users and instantaneous peak. Read this article learn how to perform proper Web site load testing with the WAPT tool.
Sending Email with SES in CakePHP 3
AWS Simple Email Service (SES) provides a reliable and scalable infrastructure for sending email. If you are not yet using an email service for your application, we highly recommend AWS. The days of managing your own email infrastructure is long gone. In this tutorial, we will show you how to set up CakePHP 3 to send email with AWS SES via SMTP. In our opinion, integrating AWS SES with CakePHP 3 by SMTP is more straightforward compared to API.
PHP 7 Performance Improvements (2/5): Ints/Floats Are Free in PHP 7
Julien Pauli, PHP contributor and release manager, details what changed between PHP 5 and PHP 7, and how to migrate and make effective use of the language optimisations. All statements are documented with specific examples and Blackfire profiles. Second episode: Free ints/floats saving up to 50% CPU usage.
|News and Announcements
PHP 5.6.29 Released
The PHP development team announces the immediate availability of PHP 5.6.29. This is a security release. Several security bugs were fixed in this release. All PHP 5.6 users are encouraged to upgrade to this version.
PHP 7.0.14 Released
The PHP development team announces the immediate availability of PHP 7.0.14. This is a security release. Several security bugs were fixed in this release. All PHP 7.0 users are encouraged to upgrade to this version.
Laravel Valet 2.0 is Released
Laravel Valet, the development environment for Mac minimalists, has just launched version 2.0 which includes bug fixes, and it moved from Caddy to Nginx.
Sunshine PHP Conference - 2nd-4th February 2017, Miami
The Sunshine PHP Developer Conference is hosted by the South Florida PHP community (SoFloPHP) in Miami, Florida from February 2nd - 4th, 2017, and you're invited! We'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP. And don't forget our Hack-a-thon and Uncon'ference, as well as a great hallway track! The conference has something for every level of PHP developer. We start with a full day of 8 PHP related tutorials and workshops that are each 3 hours of in-depth information. Next we follow that with 2 days containing 5 keynotes and 40 PHP talks over 4 tracks. General admission tickets are on sale from tomorrow.
Midwest PHP Conference - March 17-18th 2017, Minnesota
Midwest PHP is the FUN conference. This is our fifth annual conference, and each year it gets better and better. Our goal is to share best practices, ideas, and techniques about building state-of-the-art software applications. Early Bird tickets are on sale from tomorrow.
DrupalCon - April 24-28th 2017, Baltimore
The Drupal community is one of the largest open source communities in the world. We're developers, designers, strategists, coordinators, editors, translators, and more. Once a year, our community comes together at the biggest Drupal event in the world: DrupalCon North America. This year, from April 24-28, we'll be in Baltimore, Maryland. There are 12 session tracks, featuring topics like UX, DevOps, project management, and PHP. The Call For Papers is now open.
CoderCruise - July 16th-23rd 2017, New Orleans
CoderCruise is the spiritual successor to php[cruise] that was run in 2016. The PHP community had so much fun that we decided we needed to expand the idea to the greater web tech community! This will be a 7-day cruise out of the port of New Orleans that will include 3 days of conference (while at sea) and 3 days at the ports of Montego Bay, Grand Cayman, and Cozumel. We are looking for a broad range of submissions covering a wide range of web technology topics including coding, design, content, and more. Given the scope of this conference, emphasis will be given to talks that appeal to all web technologists regardless of their programming language of choice (or lack thereof). The Call For Papers is open now.
Three Devs and a Maybe Podcast - The Mafia Effect
In this weeks second in-person episode, we start off by congratulating Fraser on his recent engagement. We then move on to chat about setting up Kong, rate-limiting APIs and monitoring the health of an application system. From here we discuss the final stages of Mick’s masters dissertation, highlighting the PageRank paper and the Matthew (not Mafia) effect. Finally, we mention Edd’s trip to Silicon Milk roundabout and blog posts that he has recently had the chance to publish.
Full Stack Radio Podcast Episode 55: Ian Landsman - Shady Marketing Tactics That Will Hurt Your Business
In this episode, Adam talks to Ian Landsman about shady marketing tactics that will turn your customers against you, and how to be more authentic with your marketing strategy.
MageTalk Magento Podcast #110 - “Bluefooted Booby” (w/ Matt Parkinson, Gene Commerce)
The guys sit down with Matt Parkinson of Gene Commerce, creators of Bluefoot CMS and ApplePay for Magento.
The Five-Minute Geek Show Podcast: Episode 93 - If You Don't Know "why", You're Not Going to Do The Right "what"
Understanding the end goals - the motivation - of your clients, or yourself, allow you to make the small decisions in ways that serve the goal, rather than potentially fighting it.
Free The Geek Podcast: Episode 20 - Talking About Finding Balance As A Freelancer
In this episode we pick up where we left off in episode 19, with a slight segway. But, instead of starting to look at how to use Twitter, and other social media tools, let’s talk about something more important. In this episode let’s talk about finding perspective and balance. There’s quite a bit to cover, but I tried to condense it to the essentials. Today, let’s talk about finding a balance between the amount of work you have, the quality of said work, and the amount you get paid for it.
LaraChat Live - Episode # 17
2016 year in review. We will talk about Laravel, PHP, web development, business and life in 2016.
The Laracasts Snippets Episode 52: Laracasts Question Block #3
It's that time again. I have six new community questions to answer, ranging from the most stressful thing about running Laracasts, to new content in 2017, to a developer's Christmas list.
Zend Framework Quick Bites Episode 21 - How To Automate Projects Using Composer Scripts
In this episode, we continue on the journey of Composer discovery, discussing the latest tutorial on Master Zend Framework, which dives deep into the scripts section of composer.json.
PHP Ugly Podcast #38: The Turkey Episode
Topics include Thanksgiving, great github resources, and how 27% of the internet is hacked.
North Meets South Web Podcast Episode 17 - Mince Pies, Laravel 5.4 Updates, and Vue Server-Side Rendering
Michael and Jake managed to record this week, whilst Michael's family was visiting, to talk about mince pies, changes coming in Laravel 5.4, new versions of Homestead and Valet, and Vue JS server-side rendering.
Michael Cullum Talks About PHP FIG, PSR, And Symfony
Michael Cullum is a versatile PHP/Symfony developer. Currently, he is a manager at phpBB and PHP-FIG secretary. Apart from his development skills, he is also a highly respected speaker at PHP conferences. In this interview, Michael talks about the evolution of PHP-FIG for enhancing PSR standard, contribution to phpBB and the tricks of speaking at technology conferences. Let’s start the interview!
PHP 7.1 vs. 7.0 Performance Benchmarks with Symfony
PHP 7.1 was launched on December 1st 2016. This was the first minor release after the release of 7.0 a year ago. PHP 7.0 was a revolutionary product, especially when it comes to memory usage and performance. PHP 7.1 is a more modest upgrade that brings new features and improved performance. But how much has performance improved from a year back?
Free eBook For Christmas
This year we do not only have Christmas presents for our customers, but for all of you. We created a book and an ebook out of the most important articles in our blog. Gave them a sensible order, so that you can read and enjoy them on even more devices. This book is a curated collection of blog posts from the Qafoo Team Blog. Over the time we created many blog posts focusing on the topics of Clean Code, Object Oriented Design, Testing, Refactoring and Software Architecture. To make it easier for you to consume those blog posts we re-structured them and collected them in this book.
Raspberry Pi: The Essential Guide On Starting Your Own Raspberry Pi 3 Projects With Ingenious Tips & Tricks! (by Jared Hendrix, published 15th Nov 2016)
The Raspberry Pi 3 is a minicomputer/microcontroller that allows you to not only learn about programming and technology, but it allows you to become an inventor! It is extremely easy to start irrespective of age or skill level.
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 firstname.lastname@example.org
Interesting Projects, Tools and Libraries
A PHP authorisation library for Laravel 5.3 which restricts what resources a given user is allowed to access.
PHPBack is an open source feedback system.
Simple and fast implementation of enumerations with native PHP 5.3 and upper.
A fully conforming JSON-LD processor written in PHP. It is extensively tested and passes the official JSON-LD test suite.
A tool for evaluating your currently installed PHP version and checking it against known CVEs and the versions they were fixed in to report back potential issues.
Self-hosted pastebin software written in PHP. Pastes are editable, may have multiple files and are stored in git repositories.
This is an "obfuscator" for PSR/OOp PHP code.
Goutte is a screen scraping and web crawling library for PHP.
An error handler framework for PHP.
Starbug PHP is an open source framework for PHP that employs an MVC design pattern.
This is a simple PHP API client for DoSomething.org services.
|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.