|Welcome PHP Fans.
This week sees the celebration of Drupal 8's one year anniversary, with a look back at the various Drupal 8 projects that have launched throughout the past year.
Also this week, two new maintenance releases for Drupal are available for download; 8.2.3 and 7.52.
The ConFoo organisers have shared their Speaker Agreement, used to ensure speakers take their commitment seriously and understand the impact if they decide to withdraw their services. Feel free to download and use for yourselves.
Plus in the latest edition of the Free The Geek podcast, there's a lot of discussion (ranting!) on Brexit and Trump.
And finally, SymfonyCon takes place next week in Berlin, and today is your last chance to purchase online tickets.
Enjoy your weekend folks,
Katie and Ade
We love our sponsors. Why not try them?
From our sponsors:
Automatically Enforcing Coding Reference For PHP
Enforcing Coding Reference last week, I ran into ‘PHP Dos and Don’ts aka Programmers I Don’t Like‘ on reddit’s PHP group. It features a list of 11 points that the author hates finding in PHP code. I am always keen on reading from such references, they always hold some some interesting insights, some tips and some more polemic aspects. This one didn’t disappoint, once again. It only lacked a way for enforcing the coding reference.
Burnout in Tech
The story usually goes something like this: there’s a huge project at work. Maybe it’s the company’s first big client. It could be a “the future of the business is hinging on this” situation. This high-pressure time comes with almost impossible deadlines and, as a result, a lot more little mistakes get pushed through. As the project progresses, new problems present themselves which means more work added on.
Best PHP IDE Comparison 2016 for Windows, Mac and Linux
Most PHP developers use an IDE (Integrated Development Environment) to become more productive. There are several PHP IDEs, some more advanced than others, some are commercial and others are free. Read this article to compare the features of some of the most popular IDEs being used by PHP developers, so you can decide which one suits you best.
Drupal 8 Turns One!
This week is the one year anniversary of Drupal 8. This time last year we celebrated the release of Drupal 8 with over 200 parties around the world. It's a project we worked on for almost five years, bringing the work of more than 3,000 contributors together to make Drupal more flexible, innovative, scalable and easier to use. To celebrate this release-versary, I wanted to look back at a few of the amazing Drupal 8 projects that have launched in the past year.
Database Fixture Setup in PHPUnit
We already discussed when and how to reset a database between tests. But on top of that you often need some basic or more complex data to run the tests against. We discuss different variants and their respective trade-offs in this post…
PHP Versions Stats - 2016.2 Edition
It's stats o'clock! A quick note on methodology, because all these stats are imperfect as they just sample some subset of the PHP user base. I look in the packagist.org logs of the last 28 days for Composer installs done by someone. Composer sends the PHP version it is running within its User-Agent header, so I can use that to see which PHP versions people are using Composer with.
Tutorials and Talks
Programming With Yii2: Using Ajax
In this Programming With Yii2 series, I'm guiding readers in the use of the Yii2 Framework for PHP. In this tutorial, we'll explore the implementation of interactive pages using Ajax. Specifically, I'm going to highlight the use of Ajax in two areas of the Meeting Planner application, which I'm writing the Building Your Startup series about in parallel. First, we'll review how we load a Google Map on the page in response to the user entering a specific place.
Dependency Resolution with Graphs in PHP
One of the projects I am working on at work presented an interesting problem. I had a list of items with dependencies on one another and I needed to figure out the order in which to use those items, based on their dependencies.
Quick Way to Create a PHP stdClass
Interrupting Applications with Laravel Middleware
Before we launch into using middleware with Laravel, what is middleware? In general, middleware is software that connects different systems to one another. In Laravel, it’s one of the most well known and robust PHP frameworks that are available for use today. Middleware provides a way for you to filter out your HTTP requests and manage those requests. This allows you to dictate how those requests interact with your application.
How To Deploy Laravel Application
Apparently you already have some Laravel application and some server or shared hosting. Now you need to automate the process of deployment. Deployer will helps you in this as it ships with some ready to use recipes for Laravel based application. Let's start with installation of Deployer.
Sources its Integration Tests
Spark is a commercial Laravel package that provides scaffolding for quickly setting up a SaaS app and more. Spark was officially released back in April, and they have just made available a repository holding all the integration tests. Even if you are not a Spark customer, this can be useful as a learning resource to see how they structured and utilised integration testing within the project.
An Unofficial Forge API
You might not know this but Forge already has an API, it’s just not a documented and feature complete one. Open up your dev tools and inspect the web requests being sent while you do various stuff on Forge.
PHP 7 Performance Improvements (1/5): Packed Arrays
This blog series will show you what changed inside the Zend engine between PHP 5 and PHP 7 and will detail how you, as a developer, may effectively use the new internal optimisations. We are taking PHP 5.6 as a comparison basis. Often, it is just a matter of how things are written and presented to the engine. Performance must be taken care of when critical code is written. By changing some little things, you can make the engine perform much faster, often without losing other aspects such as readability or debugging control. We’ll prove our statements using Blackfire.
Building Your Startup: The Open-Source Foundation Behind Meeting Planner
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 today's episode, I'd like to take a step back and reflect on how it is that I've managed to build a sophisticated, easy-to-use scheduling service by myself in a matter of months, my actual programming time accounting for interruptions from brain surgery, radiation, and other consulting.
Demystifying Custom Auth in Laravel 5
I’m a big fan of Laravel. I use it in most of my personal and professional projects, and for the most part it really does make coding fun for me again. One of the things Laravel tries to do (similar to Rails) is to build in the most repetitive things a developer would have to do, for example a user registration/login/forgotten password system. In modern times, most apps big enough to require a framework need some way for users to sign up, login and reset their password. Laravel makes this stupidly easy, as long as you’re sticking to the way they want you to do it. It’s actually pretty easy even if you need to inject some custom authentication stuff in there. It’s just not very well documented, which is why I’m writing this post.
YouTube Downloader PHP Script to MP4 that Works in 2016
The PHP 7 “Request” Extension
The new request extension provides server-side request and response objects for PHP 7. Use it as a replacement object for request superglobals and response functions. An equivalent PHP 5 version is available in userland as pmjones/request.
|News and Announcements
Drupal 8.2.3 and 7.52 Released
Drupal 8.2.3 and Drupal 7.52, maintenance releases which contain fixes for security vulnerabilities, are now available for download.
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 next week 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! Today is the last day to purchase tickets online.
WordCamp US - 2nd-4th December 2016, Philadelphia
WordCamps are low-cost events, usually held on a weekend, where WordPress enthusiasts and more gather to learn to get the most out of WordPress. Community-organised, they offer something for everyone, from blogging newbies to professional developers, from marketing professionals to experienced designers, from tech enthusiasts to leading technologists. Most importantly, they provide a welcoming, engaging and safe space for WordPress users to get to know one another. Tickets are on sale now.
ConFoo - 8-10th March 2017, Montreal
ConFoo Montreal is a multi-technology conference for web developers, offering a great diversity in content to expand your knowledge and increase your productivity. Learn from 100 international experts. Discounted tickets are on sale now.
That Podcast Episode 34: Say What?
Beau and Dave talk about Beau's trip to the last True North PHP conference, trolls, writing and social media automation. P.S. Yes, Dave accidentally calls Beau bro in the intro.
Full Stack Radio Podcast Episode 54: Jonathan Reinink - Forms: The Worst Part of Web Dev
In this episode, Adam talks to Jonathan Reinink about dealing with common headaches when working with everyone's favourite part of web development: forms.
Acquia Podcast - Rebroadcast: Happy Birthday Dries and Drupal 8!
Rebroadcast: Drupal launch interviews, one year on. Part 3 of 3 - Spend 18 minutes with Dries Buytaert and Jeffrey A. "jam" McGuire behind the scenes in Antwerp as we drive back to the dorm room where Drupal was invented and Dries seeing it for the first time in 15 years.
MageTalk Magento Podcast #107 - “OH MY GOD BECKY LOOK AT HER B2B”
The guys rap about Roy Rubin supposedly endorsing Oro, and Kalen chats improvement in Commerce Hero.
Free The Geek Podcast: Episode 19 - Talking Trump, Brexit, and Getting Started as a Freelancer
In this episode I decided to go a little off track and have a bit of a rant, a bit of a “letting go” session in light of the recent US election and Brexit. I’m no fan of either, and I share why in the first half of the episode. In part two, the more serious part of the episode, I share my key learnings on how to get started as a freelancer, the essential things that you need to know. Everything from how to find the right path, to the key apps you need, to some of the core steps you need to take. Grab your favourite beverage and your comfy chair, and get ready for a rousing fireside chat.
Laravel IO Podcast - Episode 50: Turkey Day Touch Bar
In this episode, the crew discusses new Apple announcements, the Laracast redesign and improvements, Forge, Laravel 5.3 and 5.4 changes, and more.
The Laracasts Snippets Episode 49: The Laracasts Refresh Launch Day Podcast
Today, we're exclusively discussing the new Laracasts refresh. I talk about what I've learned in the 3-month process, interesting techniques - both front-end and back-end - that I leveraged, as well as why I spent more time simplifying, rather than complicating.
Zend Framework Quick Bites Episode 18 - How To Simplify Expressive Configuration with Interop-Config
In this episode I'm back, talking about the excellent package Interop-Config by Sandro Keil. Interop-Config helps ensure that you have a valid configuration for your code. It can provide default options, as well as enforce mandatory options, ensuring that it has a well laid out structure and is easy to understand.
Lately in PHP Podcast Episode 77 - Faster PHP Debugging using Session Replay
One of the greatest time consuming problems of current PHP debuggers is to step over some code that leads to some unexpected results, but if you want to go back and understand why it went wrong, you need to restart the debug session from scratch. Now there is a better debugger extension named DontBug that allows you to go back and replay code execution steps. This was one of the main topics discussed by Manuel Lemos and Arturs Sosins in this episode of the Lately in PHP podcast now also being streamed using livecoding.tv.
Simone Zuurveld Talks About Magento Development And Future Of Ecommerce
Today, in a fresh installment of Cloudways interviews, we have Simone Zuurveld. She is a Magento Developer at Bold Commerce, with over 7+ years of experience in Magento development.
php[world] Keynote: Tech for the People - Using our Superpowers for Good
Watch the keynote speech from last weeks php[world] conference.
A Reverse Debugger for PHP...wait...WHAT?
Honestly, when I originally tweeted this out I really wasn’t 100% sure what it did. You never know when you see things like “reverse debugger”. It’s one of those “I understand the words separately…” type of things. Then I watched the short video. HO-LY CRAP! Seriously, it is exactly what it says, it allows you to step debug forward AND backwards. Well, almost. You have to record the session first and then you can step forwards and backwards. Still it is a powerful tool.
WordPress 2016 Survey
If you haven’t yet, now is a great time to take the Annual WordPress Survey.
Conference Organisation: Speaker Agreement
At ConFoo, we use a speaker agreement to ensure that accepted speakers take their commitment seriously and understand the impact of a cancellation. We used to lose thousands of dollars due to speakers cancelling after we had already purchased their flight (as a non-profit, that hurts). It’s also an opportunity to remind them to be respectful and make sure that we maintain a pleasant learning atmosphere. With this agreement, the responsibilities are clear. It’s really short, so instead of describing it, I’ll let you read it. Feel free to download it and use it for your own conference.
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 library/package for date and time management.
Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resource consumption.
SOFORT API wrapper for PHP.
Framework for easy and quick typing PHP applications using current web technologies.
Opinionated docker base image for PHP 7-based web applications.
Custom PHP code for advanced Cascade pages.
Tool for creating standard PHP exceptions.
A PHP library for the Xero API, with a cleaner OAuth interface and ORM-like abstraction.
Markdown parser for PHP based on the CommonMark spec.
A social networking website built with PHP for sports lover to connect and interact.
Framework for building data-driven web applications in PHP and MySQL.
A bunch of PHP utilities.
|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.