Sorry. For the first time since we started PHP Weekly, we forgot to send it on Thursday. We were so busy planning for the holidays that we completely forgot to click on send. Everything was put together (by Katie) but it was myself (Adrian) who was supposed to press the button. So its late, but here it is.....
This week the PHP development team has released PHP 7.0.1, available immediately.
Plus php[tek] has been announced, taking place next May in St Louis. The Call for Papers is open now.
Also this week, the latest Free The Geek podcast features an interview with Jack Skinner, AKA Developer Jack.
And we have video footage of Thijs Feryn's ElasticSearch presentation from PHP North West 2015.
Happy Holidays to one and all.
Have a great weekend folks,
Katie and Ade
We love our sponsors. Why not try them?
Twenty years of PHP development history.
Hour of Code
This week, Ben Ramsey volunteered to take part in the Hour of Code initiative, when he visited a school to introduce and discuss technology with a group of students.
Why is Fixing Bugs So Slow? (and how to make it faster)
Have you ever wondered why sometimes fixing bugs seems to take much longer than it should? When you finally find the problem, it turns out all you need is one small change. Yet, it took a lot of time to find what’s going on. On the other hand, when you’re writing code and you go and test it and it doesn’t work correctly, fixing the bug is really quick. Is there something we can learn from the bugs that are easy to fix, so that we could spend less time fixing bugs in general? Let’s talk about that, and see what ways there are that we can use to solve this problem and stop pulling our hair out because of hard to find bugs.
My Guide to Commenting on joind.in
If you are visiting pretty much any (random) PHP conference these days, you will hear a lot of talk about “rating talks on joind.in”. For those not familiar with this site: it’s a site where you can find additional information about the talk (like slides), and where you can leave a rating and/or comment about the talks and conferences that you have attended.
Tutorials and Talks
Six Common PHP Security Issue and their Remedies
Security is a delicate matter that all PHP developers should be aware of. However, not all PHP developers know the basic security measures that should be taken to avoid the most common security flaws. Read this article to learn about 6 common PHP security issues and what you can do to avoid them.
New Composer Patterns
Here is a short update on some nice little features that have become available in the last year in Composer.
Tips for Using Session Cookies with PHP
A session cookie, also known as a transient cookie, is named that because it only exists temporarily during the time that the user navigates the website, so when the user closes the browser, the session cookies are deleted. Websites normally use session cookies to make sure that you are recognised when you navigate from different pages within a site and that any information you have provided is remembered.
The Beginners Guide to WooCommerce: Adding Coupons Usage Limits
In my previous articles I explained in detail how to add coupons in WooCommerce and how one can configure coupons usage restrictions. After the two tabs/sections of General and Usage Restrictions, today, I will be discussing the last section of settings which needs to be configured before any online store owner publishes a new coupon i.e. Usage Limits.
Liking, Watchlisting and Uploading through Vimeo’s API
In a previous post, we used the Vimeo API to build a rudimentary video application with Silex and Twig. We added login and user feed functionality and wrapped it all up with a video searching feature. In this one, we’ll add in liking a video, adding a video to a watchlist for later, and uploading videos via the Vimeo API.
PHP WordPress Plugin Tutorial Using Object Oriented Programming Part 1: Basic Example
WordPress plugin development is very popular these days. Users with different levels of experience can develop plugins for WordPress. One drawback of WordPress development is that WordPress was released before PHP 5, so much of the WordPress code is procedural and can be difficult to organise. Read this article to learn how to create a Wordpress plugin using OOP based on the Pak PHP Framework.
PHP-SQLlint: CLI Syntax Checker for SQL Files
I wanted to let our CI system syntax-check SQL files, but failed to find a SQL syntax checker for the command line. There are many online tools to which you can copy&paste your SQL statements, but nobody wants this. I did not find any cli tools for this task, apart from the 2005 SQLLint prototype written in Prolog. Instead I found the SQL parser library used by phpMyAdmin and made a wrapper around it: php-sqllint.
New MongoDB Drivers for PHP and HHVM: History
We recently released a new version of the MongoDB driver for PHP. This release is the result of nearly a year and a half working to re-engineer and rewrite the MongoDB driver. In this blog post, I will cover the back story of the how and why we undertook this effort.
Secure PHAR Automation
For a variety of reasons, I've been working on a utility that is best distributed via PHAR file. As has been noted by others (archive.is link, due to lack of availability of original site), PHAR distribution, while useful, is not without security concerns, and I decided to investigate how to securely create, distribute, and update PHAR utilities as part of this exercise. This is an account of my journey, as well as concrete steps you can take to secure your own PHAR downloads.
Insert Data with Phinx
Database patching is a wicked hard problem, one that's got a bit easier in my world lately as I've been using Phinx on a few projects.
Form Array Validation in Laravel 5.2
It's time to start writing about the new features in Laravel 5.2! You'll notice that many of these features are quicker and easier to learn and write up, so it may seem that it's a smaller release. But many of the features in 5.2 will have a big impact on the simplicity and convenience of the code we write day-to-day.
Magento Theme Development: Home Page Styling
I know the previous three articles may seem to be loaded with too much information, and you might have had a hard time following some of the steps. But the good news is that we are done with the difficult part now, and the rest of this theme development series will look relatively easy compared with those previous articles, because we’ll mostly be repeating the same techniques over and over again, which we have learnt in those articles.
Easy Continuous Delivery with ContinuousPHP and Zend Server
The continuous delivery approach aims at making the process of continuously deploying code to production error-free, or at least less error-prone, using automated tasks, tests, builds and deployments. However, this process is not always straightforward. Often the continuous delivery tools chosen for implementing continuous integration and deployment are hard to figure out and use, and are usually time consuming and expensive. This article introduces an interesting new approach to dealing with this challenge by demonstrating a continuous delivery process using continuousphp and Zend Server.
|News and Announcements
PHP 7.0.1 Released
The PHP development team announces the immediate availability of PHP 7.0.1. Several bugs have been fixed. All PHP 7.0 users are encouraged to upgrade to this version.
Laravel 5.2 Beta 1
Laravel 5.2 Beta 1 has been tagged and is ready for those early adopters to start testing it out.
Magento 2 Seminar - January 22nd 2016, Netherlands
In mid November Magento 2 Stable was released, and on January 22nd a Magento 2 Seminar will take place in The Netherlands to celebrate this. During the event, there will be lightning talks from various Magento 2 techies, panel discussions and a drink - to discuss the practicalities of moving from Magento 1 to Magento 2 and making the new platform a success. Tickets are available on the (Dutch only) site.
php[tek] - May 23-27th 2016, St Louis
Once again the team behind php[architect] magazine will be hosting their annual php[tek] conference! For this 11th edition of php[tek] we are excited to announce that we are moving to St. Louis! The new larger venue will allow us to continue to grow this conference, allowing more people from the PHP community to come together for a week of learning and camaraderie! The Call for Papers is now open until mid January.
PHP UK Conference - 18-19th February 2016, London
With over 700 delegates, speakers, and sponsors, PHP UK conference aims to deliver fantastic up-to-date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss. Early Bird tickets are on sale now.
Sunshine PHP Conference - February 4-6th 2016, Miami
The SunshinePHP Developer Conference is hosted by the South Florida PHP Community (SoFloPHP) in Miami, Florida from February 4th - 6th, 2016, 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 and fun social events! Tickets are on sale now.
Nomad PHP US - January 21st 2016 20:00 CST
Building Better APIs, presented by Mike Stowe. Building an API is easy. Building an API that meets both the needs of your users and your company while being scalable and flexible enough to evolve – that’s another matter altogether. Thankfully, the API space has evolved drastically over the last two years, and new technologies and tools make this extremely complicated process a lot easier.
Nomad PHP EU - January 21st 2016 20:00 CET
Puli: PHP’s Next Package Revolution, presented by Bernhard Schussek. Puli is a new PHP technology for building universal packages that can easily be plugged into any project. These packages use and discover each other automatically, without additional configuration. In your enterprise projects, you can use Puli to build powerful plugin systems. But Puli’s consequences are far greater: By unifying “bundles”, “modules” and “extensions” of different frameworks, Puli has the potential to radically change the PHP community…
PHP Articles and Book Reviews Report December 2015 Edition
This is the December edition of the podcast hangout recorded by Manuel Lemos and Arturs Sosins, commenting on the latest outstanding PHP Articles and Book Reviews published recently.
Voices of the ElePHPant - Interview with Josh Holmes
This week Cal Evans interviewed PHP community member, and Microsoft employee, Josh Holmes.
Three Devs and a Maybe - Delving into HTTP/2 with Mattias Geniar
On this week’s show we are joined by Mattias Geniar to discuss all things HTTP2. We start off the show with a discussion on how he got into programming, moving into a DevsOps role as his career has progressed. From here we briefly discuss the term DevOps and how he uses a lot of Puppet in his current role.
Acquia Podcast - Art, PHP, Sculpin & more at SymfonyLive Berlin 2015
I sat down with Rebekah Simensen & Beau Simensen as SymfonyLive Berlin 2015 was wrapping up. Beau is the maintainer of the Sculpin PHP static site generator and was, until recently, a voting member of PHP-FIG. Rebekah is the artist known as ninjagrl, whom I had heard of because of her #ossart, open-source-inspired work. Beau has promised to come back on the podcast soon to explain all about the PSR 7 HTTP message standard interfaces, but I didn't want to pass up this chance to meet such interesting people!
MageTalk Magento Podcast #71 - “Adia I Do Believe I Failed You”
The guys talk about the acquisition of Magento and the future of hosted ecommerce platforms. Kalen took some major bummer pills before this episode.
Free The Geek Podcast: Episode 11 - The Life of a Developer Evangelist, with Developer Jack
In this episode I have a fireside chat about what it’s like to live the life of a developer evangelist with Jack Skinner, otherwise known as @developerjack, whilst he was at the first BuzzConf. He talked with me about the crazy hours, random locations, and shared some stories from the road, such as having a conference call whilst walking down the boarding gate to catch a flight.
Laravel News Podcast - LN 06: PHP7, Laravel 5.2, LaraVer, and more
This episode we are joined by Colin O’Dell and Mike Bronner. Colin talks to us about new features in PHP7, Mike talks to us about Laraver.xyz, and Eric and Jack talk about stuff we’ve heard about Laravel 5.2, Flexbox Froggy, and Let’s Encrypt.
Config is Not Code! How to Use Environment Variables in PHP
You should be enforcing a total separation of config from code in your PHP applications. Learn how to utilise environment variables in your apps, including app bootstrapping, security for app secrets, deploying to remote environments, and more.
Creating a Simple WordPress Plugin in 60 Seconds
The process of creating a WordPress plugin can be daunting, especially as you're just getting started. But before trying to create a large, multi-featured plugin, why not start off with the basics? In this video, we take a quick look at everything that's needed in order to get started with laying the ground for a WordPress plugin.
ElasticSearch In Action
Video footage of Thijs Feryn's ElasticSearch presentation at PHP North West 2015 in Manchester.
Web Penetration Testing with Kali Linux (by Juned Ahmed Ansari, published 26 Nov 2015)
If you are already working as a network penetration tester and want to expand your knowledge of web application hacking, then this book tailored for you. Those who are interested in learning more about the Kali Sana tools that are used to test web applications will find this book a thoroughly useful and interesting guide.
A PHP Guy Learns Hapi: Get Up and Running Quickly with HapiJS (by Scott Hathaway, published 1st December 2016)
Do you want to learn the Hapi Framework for NodeJS? If so, this book will help you along the path in a fun, easy to digest manner. Learn what you need to know to get up and running with HapiJS quickly, whether you are coming from a PHP background or not.
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
CMS based on Phalcon PHP Framework with modular structure.
Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.4.
A social networking engine in PHP/MySQL.
A lightweight, expressive, framework agnostic query builder for PHP, that can also be referred as a Database Abstraction Layer.
PHP Universal Database Library - connects to and generates queries for SQL Servers.
Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services.
This library is an oop-wrapper for the ansible provisioning tool.
The ultimate tool to manage PHP applications in virtual machines, Jarvis is designed to assist you in developing Symfony applications, by defining common tasks you run on your remote servers.
A high level SQL abstraction library for PHP, complementing and operating on top of a conventional database abstraction layer.
Random data generator in JS, PHP and MySQL.
A full-scale PHP 5.3.2+ sandbox class that utilises PHP Parser to prevent sandboxed code from running unsafe code.
Steward is a set of libraries made to simplify writing and running robust functional system tests in PHPUnit using Selenium WebDriver.
Plum is a data processing pipeline for PHP that helps you to write structured, reusable and well tested data processing code.
A centralised repository for PHP-related brews.
CosCMS is a simple modular framework for building web applications.
Bart is a PHP project. It originally began its life as a collection of Build and Release Tools used internally at Box. Over time, it's grown into a collection of critical pieces of our PHP frameworks.
A PHP profiler & developer toolbar built for Phalcon.
|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.