|Hi there PHP fans,
The PHP development team has announced several security releases this week, including PHP 5.6.34, 5.5.38 and 7.0.9. The first Beta for PHP 7.1.0 is also now available.
Also, this month Symfony2 celebrates it's fifth anniversary. Learn how far it has come since 2011.
Unit testing is pretty much indispensable, but how can you be sure your tests are correct? Have you ever wondered how you can test your tests?
Plus Laracon EU takes place next month in Amsterdam, the largest gathering of Laravel developers and enthusiasts in Europe. Tickets are on sale now.
And finally, the latest Laravel News podcast is all about Laracon EU, featuring all of the first day speakers, information about their talks and how to get the most out of the conference.
Have a great weekend everyone,
Ade and Katie
We love our sponsors. Why not try them?
From our sponsors:
||Exclusively to PHP Weekly readers, we have an offer on SourceGuardian, up until the end of July2016 (was June 2016, but its been extended), to receive 25% off the purchase price of SourceGuardian. Protect your PHP code. Download the free trial and use the following discount code: bldcvzrh0FIw5AoY
Expression Engine from a Laravel Developers Perspective
Recently, I've delved into CMS development, specifically Expression Engine (EE) development, after being predominantly a Laravel developer for the past few years. I liked some things about EE and disliked others, but overall I can see where a tool such as EE can be leveraged to build very customisable Web sites, and even Web applications that non-developers are able to configure and maintain.
City of Boston launches Boston.gov on Drupal
Yesterday, the City of Boston launched its new website, Boston.gov, on Drupal. Not only is Boston a city well-known around the world, it has also become my home over the past 9 years. That makes it extra exciting to see the city of Boston use Drupal.
Composer – What You Should Know
Last year I wrote a piece called “a few thoughts about composer and how people use it“. In that post I had a list of things which are problematic about how composer is used. That post got widely recognised, linked and visited, but in general those issues still exist.
Symfony2 Turns Five, Symfony 3.2 Continues the Momentum
Late in 2015, the Symfony project as a whole celebrated its tenth anniversary. Another significant milestone is reached in July 2016 as Symfony2, the second major iteration, celebrates it's fifth anniversary. Five years is a long time in IT, but even more so in web development.
Tutorials and Talks
Laravel User Registration with Email Activation
This post documents how to add an e-mail confirmation to the Laravel User registration that is generated by the Artisan console. In this example, the registered user will not be able to login until the activation link that is sent to the users registered e-mail account has been loaded into the browser.
Testing Your Tests? Who Watches the Watchmen?
Regardless of whether you’re working for a big corporation, a startup, or just for yourself, unit testing is not only helpful, but often indispensable. We use unit tests to test our code, but what happens if our tests are wrong or incomplete? What can we use to test our tests? Who watches the watchmen?
Building a Laravel Powered Slack Bot
At Spatie we’ve recently introduced a bot to our Slack chat. We’ve named him Paolo (after the waiter in our favourite Italian restaurant in Antwerp: La Fontanella Da Enzo). Behind the scenes Paolo is powered by a Laravel application that responds to all requests Slack is sending to it. In this post I’d like to explain how you can set up your own Laravel powered Slack bot.
Creating Migrations with Liquibase
Liquibase is a versioning tool for databases. Currently, it's on version 3.5 and is installed as a JAR. It has been on the market since 2006, and recently completed its 10th anniversary.
Install and Uninstall Hooks in OpenCart
As a module developer, more often than not you’ll need to create a custom schema in your day-to-day OpenCart custom module development. It’s already provisioned, as with the other frameworks, in the form of different hooks in the module architecture of OpenCart.
Missing Colors for PHPUnit
I ran across a minor issue today that I never experienced before. The colors for the PHPUnit’s output were missing.
How We Broke PHP, Hacked Pornhub and Earned $20,000
It all started by auditing Pornhub, then PHP and ended in breaking both…Pornhub’s bug bounty program and its relatively high rewards on Hackerone caught our attention. That’s why we have taken the perspective of an advanced attacker with the full intent to get as deep as possible into the system, focusing on one main goal: gaining remote code execution capabilities. Thus, we left no stone unturned and attacked what Pornhub is built upon: PHP.
Project Scalability with Zend Expressive
I've been working with some different frameworks lately. One of them is Zend Expressive, and I've come to the conclusion that I don't need to choose between different frameworks; depending on the project, Expressive always fits my needs and scales from small projects to bigger applications.
Can We Use Laravel to Build a Custom Google Drive UI?
In this tutorial, we’re going to build an app that talks to the Google Drive API. It will have file search, upload, download and delete features. If you want to follow along, you can clone the repo from Github.
FieldTop - Find Columns That Might Overflow Soon
In the case of a database that's in use for a long time and contains user-generated data, some columns might outgrow the data types that were used to store the data. This blog post will describe a tool called fieldtop that checks for overflows and underflows in all tables and databases stored in a MySQL server.
D8 Module Recap: Workbench Moderation, Rules and Inline Entity Form
Summer is in full swing but that doesn’t mean that Drupal 8 has slowed down. Currently there are more than 100,000 sites that have been deployed on Drupal 8! We’ve continued to document the process as modules continue to be migrated over from Drupal 7 on the Acquia Developer Center blog. This week we’re looking at Workbench Moderation, Rules, and Inline Entity Form.
Having Fun With PSR-7
When I came up with the idea to build a PSR-7 based flat-file CMS I thought that it must be fairly trivial to build a static page exporter by simply "faking" requests and storing the resulting responses. Turns out I was right and this an quick recap of what I did ;)
|News and Announcements
PHP 5.6.24 is Released
The PHP development team announces the immediate availability of PHP 5.6.24. 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 5.5.38 is Released
The PHP development team announces the immediate availability of PHP 5.5.38. This is a security release that fixes some security related bugs.
PHP 7.0.9 is Released
The PHP development team announces the immediate availability of PHP 7.0.9. This is a security release. Several security bugs were fixed in this release, including the HTTP_PROXY issue. All PHP 7.0 users are encouraged to upgrade to this version.
PHP 7.1.0 Beta 1 is Released
The PHP development team announces the immediate availability of PHP 7.1.0 Beta 1. This release is the first beta for 7.1.0. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.
Laravel 5.3 Changes The “app” Folder
As we are getting closer to the launch of Laravel 5.3, new features seem to come out almost daily. The latest is a change to the “App” folder and, in a move to simplify it, the Events, Jobs, Listeners and Policies folders are now gone.
PHP Conference Asia - 22nd-24th August 2016, Singapore
The second pan-Asian PHP conference will take place between 22nd and 24th August 2016 in Singapore - the Garden City of the East! Monday, 22nd August 2016 will be a Tutorial day, followed by two days of Conference. Come and meet with the fastest growing PHP communities in Asia. More than 300 attendees are expected in this single track conference. Early Bird Tickets are on sale now.
Laracon EU - August 23rd-24th 2016, Amsterdam
Laracon EU is an international multi-track event focusing on in-depth technical talks, directly tailored to empower you as a Laravel developer. As the single largest gathering of Laravel developers and enthusiasts in Europe, it's a great opportunity to meet and learn from a diverse group of people that work in your space. Tickets are on sale now.
Bulgaria PHP Conference - Oct 7-9th 2016, Sofia
Our core purpose with Bulgaria PHP Conference is to provide uncompromisable quality of content and strengthen the broader European PHP Community. But we also want to have a lot of fun along the way - us and our partners and attendees. So, Game ON! The last few tickets are on sale now.
SymfonyCon Germany - December 1st-3rd 2016, Berlin
SensioLabs is proud to organise the fourth edition of the SymfonyCon, the international Symfony conference. This year, to celebrate Symfony, we decided to bring the entire community to Germany to discover Berlin, a very special vibrant city. We look forward to welcoming you to Berlin for talks, workshops, discussions and other serious work around Symfony and its environment, then sharing this very special German atmosphere… And of course, celebrating the community reunion! Tickets are on sale now.
Voices of the ElePHPant - Interview with Steve Grunwell
Recorded live at this years Sunshine PHP, Cal Evans chats with Senior Web Engineer Steve Grunwell.
Acquia Podcast - Live from DrupalCon Mumbai: Meet Acquia Pune!
A conversation from DrupalCon Asia DrupalCon Mumbai 2016 with members of Acquia's Pune, India office: Prassad Shirgaonkar, Prassad Gogate, Prafful Nagwani, and Jeffrey A. "jam" McGuire, in which we touch on Drupal and community in India, the history of the DrupalCon Prenote, Drupal's multilingual strengths, the Drupal Campus Ambassador Program in India, and more!
Laravel News Podcast LN22: The Laracon Interview Episode
A special “Laracon” edition of the podcast. In this episode, we chat with all the speakers that are scheduled to give the first-day workshops. These include Taylor Otwell, Evan You, Adam Wathan and Chris Fidao. The topics include information about their talks, projects they’re working on, getting the most out of the conference and more. There’s great stuff here, even if you’re not attending!
The Laracasts Snippets Episode 34: Just A Detail
Last week, we talked about development trends - and how they sometimes have a tendency to make developers feel as if they're falling behind. "These are the new trends of 2016! Get to the mall, stat!" Today, let's continue the discussion a bit more. Will this new trending architecture bring you closer to launching the project of yours that's been sitting at 90% complete for a year now? Maybe...but maybe not.
The Thing About PHP 7’s Spaceship Operator
Unless you’ve been under a rock (which is totally cool if so) you know PHP 7 has been out for a bit now. I finally took some time the other day to fire it up on one of my dev servers and see what all the fuss is about. Online, I’d kept hearing about this “spaceship” operator. This thing’s kind of cool actually. Let me show you.
Careers in Code Video Series
I’ve recorded a series of videos I call ‘Careers in Code’, and it is about many things related to coding professionally. The series of videos is less about code, and more about all the things professional coders have to understand. Drawn from my 20+ years experience in the coding arena, there is a lot of good information in there I learned the hard way … you can learn it more easily watching these videos.
Which of My Software Product Ideas is the Best? Fix My Software Product Business
Many developers have many ideas for software products that they could develop and sell to many customers, but they do not move on because they are not sure which product would be the best. Watch this video of an interview with a developer, who gets advice on the criteria to decide which products he should invest in.
Video For My Caching Talk at InfoShare 2016
I am happy to announce that the video footage for my caching talk at InfoShare has finally been released. If you can spare 30 minutes and want to learn about caching, have a look.
Customising Keys When Mapping Collections
People often ask me, “how do I specify keys when I’m mapping a collection?” It actually ends up being a pretty interesting topic, so I decided to cover it in a short screencast, as well as in written format below.
Q&A on Public Speaking with Jessica Rose
This week my guest is Jessica Rose. Jessica speaks at developers events all over Europe and the US. She took time out from her busy schedule to join me to answer questions on public speaking. We talk abut her first talk, preparing for talks, speaking to audiences whose first language is not English, and so much more.
Raelene Morey Talks About The WPMU DEV Blog
Raelene Morey is the Managing Editor at WPMU DEV, the best known provider of premium plugins and themes for WordPress. She manages the very popular WPMU DEV blog and the very respected WhiP, the popular email newsletter that has reached 70,000 subscribers. In this interview she talks about her career, her work at WPMU DEV and her passion for volunteering her time for educational endeavours.
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@example.com
Interesting Projects, Tools and Libraries
Promises/A+ implementation that handles promise chaining and resolution iteratively, allowing for "infinite" promise chaining while keeping the stack size constant.
PHP caching environment, with adapters for e.g. Memcached, Redis, Couchbase, APC, SQL and additional capabilities (e.g. transactions, stampede protection) built on top.
Task manager for PHP, the PHP port of Gulp.
This library aims to ease creation of REST clients. It is blatantly stolen from square/retrofit and implemented in PHP.
Official PHP client for the Keen IO API. Build analytics features directly into your PHP apps.
BrowniePHP is a plugin for the CakePHP framework that saves you the work to create a back-end for your app.
A PHP class for grabbing the color palette from an image. Uses PHP and GD or Imagick libraries to make it happen.
This library is an oop-wrapper for the ansible provisioning tool.
ColorJizz is a PHP library for manipulating and converting colors.
A robust library to handle immutable big numbers inside PHP applications.
The PHP WhatsApp library.
eCommerce PHP framework built on top of Symfony with component-based architecture and format-agnostic rendering.
|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.