Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

May 11, 2017

Greetings PHP Fans.

This week it's stats time! Jordi Boggiano reports on which PHP versions people are using Composer with, using the logs.

Also this week, if PHP calender, booking and events scripts are an important part of your website, we take a look at 15 of the best choices out there.

If Yii is your PHP framework of choice, developers from all over the world have shared their experiences, enabling this article on some of the best Yii practices.

Plus the Changelog Podcast team has recorded a special bonus episode, to share details about Sustain Conference coming up in June.

And finally, the Call for Papers at the Pacific Northwest Conference comes to a close after this weekend, so if you are keen to apply and be heard you need to get in quick!

Have a great weekend folks,

Katie and Ade

Please help us by clicking to our sponsor:

encrypt php scriptsProtect your PHP Code

Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.


The Process for Evolving Community Governance
There comes a time when we must all recognise that what got us here won't get us there. Now is that time for Drupal. The governance models that were put in place to support the needs of the community years ago are no longer working as well as they should. The Drupal community has reached a level of maturity that requires greater clarity, integrity, and resilience.

PHP Versions Stats - 2017.1 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 logs of the last month 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.

What? Why Would Someone Hack My Small Business Website?
You are an entrepreneur, manager or a marketing pro responsible for the website in a company which is simply meant as a digital business card to introduce the company, its services, and the latest news. Not including any state secrets, right.. so why are they still doing this?

15 Best PHP Calendar, Booking & Events Scripts
There are several reasons PHP calendar, booking and events scripts may be an indispensable addition to your website. If, for example, you’re a service provider, then it makes sense to have an appointment booking system on your site that allows potential customers to see your availability and select an appointment time and date that is best for them. This could cut down on needless calls to your business to make appointments and free up your time or your staffs time for other endeavours. We’ve compiled 15 of our best PHP Calendar, Booking & Events Scripts available at CodeCanyon, to help you choose the one that’s right for you.

What Happens to Laravel if Taylor Otwell Disappears?
Unlike a framework backed by a company, a framework backed by an individual relies on that individual's desire and ability to keep the project running. What happens if Taylor decides he wants to retire and be a goat farmer?

Tutorials and Talks

PHP Webcam Capture Image Script to take Photo Picture from Camera
If you want to take a picture of a user to be used in a PHP Web site, you can do it with a little help of a JavaScript and a Flash library. This article is a tutorial that explains how to take picture snapshots using a Webcam to be uploaded to a PHP application.

Symfony 4: A Quick Demo
Time to test Symfony 4... or at least let's test the experience of developing Symfony 4 projects with Symfony 3.3. Keep in mind that all the tools are in preview mode. Features might evolve over time. I'm waiting for your feedback! The first stable version of Symfony Flex will not be released before Symfony 4 at the end of November 2017. It gives the community plenty of time to discuss the changes I have described in this series of blog posts.

Arduino and Raspberry Pi Working Together
Basically everything we can do with Arduino can also be done with a Raspberry Pi (and vice versa). There’re things that are easy to do with Arduino (connect sensors for example). But other things (such as work with REST servers, databases, …) are “complicated” with Arduino and C++ (they are possible but require a lot of low level operations) and pretty straightforward with Raspberry Pi and Python. With this small project I want to use an Arduino board and Raspberry Pi working together. Let’s show you the code.

Complex Argument Matching in Mockery
This past weekend I did some issue maintenance and bug triage on Mockery. One thing I noticed going through all these issues, is that people were surprised when learning about the \Mockery::on() argument matcher. I know Mockery’s documentation isn’t the best documentation out there, but this still is a documented feature.

Using the Twitter API to Tweet Repetitive Content
Welcome back to our coverage of the Twitter API. If you use Twitter, you may have come across a friend sharing tweets from the @infinite_scream bot (shown above). I know it's mostly a bot because it tweets at ten-minute intervals. But it varies the string length of its virtual screams to avoid being blocked by the Twitter APIs infamous undocumented restrictions. Tweet too frequently or repeat the same content and you'll find your bots hopelessly blocked. Recently, an online friend asked me to help them write code for a bot that might repeat but provide some intelligent content variation. In todays tutorial, I'll write about how to do this with the Twitter API.

Laravel in Docker
With this article you’ll learn how to prepare a Docker image of a Laravel application, push it to the registry, and use Docker in Continuous Delivery.

Building an Interactive Voice Response System with Laravel and Nexmo
Want to dial your Laravel app, and have it talk back to you? Let’s take a quick look at how to build a really simple IVR (interactive voice response) – a ‘phone menu’ – with Laravel and Nexmo. When it’s done, you’ll be able to pick up your cell phone, dial a phone number, and have your Laravel app control what you hear. It’s probably easier than you think, let’s get started!

Building Your Startup: Leveraging Crowdfunding
At some point in the evolution of your startup, you may need funding. Certainly, there are successful startups that entirely self-funded or generate revenue and growth at an early stage, but that's not true for most of us. I've been working on Meeting Planner for more than a year entirely by myself (with contributions and support from the amazing open-source community). The site's made tremendous progress in its ease of use and the productivity it provides new users. But I've spent almost nothing on marketing, so growth is slow.

5 Time-Saving Uses for WP-CLI Automation
Looking for ways to be more efficient when setting up and maintaining multiple WordPress sites? Here are some suggestions for WP-CLI Automation.

Turbocharge Yii Development Through These Best Practices
Yii is a popular PHP development framework that has managed to hold its own in the fierce world of PHP frameworks. In effect, Yii is still a popular development framework for all categories of PHP projects. The following Yii best practices are the result of the experiences of the Yii developers from all over the world.

Exploitbox: WordPress Unauthorised Password Reset Vulnerability
On the Exploitbox site Dawid Golunski shares a 0 day vulnerability in the WordPress core affecting all versions. The vulnerability stems from WordPress using untrusted data by default when creating a password reset e-mail that is supposed to be delivered only to the e-mail associated with the owner’s account.

Authorise Users Using Middleware
In a previous post, we demonstrated how to authenticate a middleware application in PHP. In this post we will continue the discussion, showing how to manage authorisations. We will start from an authenticated user and demonstrate how to allow or disable actions for specific users. We will collect users by groups and we will use a Role-Based Access Control (RBAC) system to manage the authorisations.

The Ultimate Guide To Deploying Your PHP Applications
There is a popular mantra amongst developers that goes like this write, test and deploy. In this tutorial, I'll show you how to deploy your PHP apps to different cloud server platforms such as Google Cloud, Microsoft Azure, Heroku, IBM Bluemix, and others.

Booking Cookery Classes with Acuity Scheduling and Lumen
I recently wrote an article about building an online system to book lessons with a driving instructor. Teaching someone to drive is relatively unique, in that it’s guaranteed to be a one-to-one class — or at least, if you did find yourself sharing an instructor’s time, then you’d have every right to feel short-changed. Cookery classes usually have a very well-defined limit on the number of students - you can only really teach as many people as you have cooking stations or cookers. That’s going to be the theme of this article - managing those “slots” in a cookery class. The principles remain the same for all sorts of other forms of tuition.

Manage Permissions With zend-permissions-acl
The last couple posts have been around authorization, the act of determining if a given identity has access to a resource. We covered usage of role based access controls, as well as middleware that uses an RBAC. In this post, we'll explore another option provided by Zend Framework, zend-permissions-acl, which implements Access Control Lists (ACL). This post will follow the same basic format as the one covering zend-permissions-rbac, using the same basic examples.
News and Announcements

PHPKonf - May 20th-21st 2017, Istanbul
PHPKonf is hosted by the İstanbul PHP community (İstanbul PHP) in İstanbul, Turkey from May 20th 2017, and you're invited! For the 4th year, we'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP. The conference has something for every level of PHP developer with awesome keynote and 14 talks (multi-track). So come meet other PHP developers and see what others are doing, and please share your experience as well. Then relax or have some fun at the evening events with plenty of fun for everyone! Tickets are on sale now.

PHP Serbia Conference - May 27-28th 2017, Belgrade
PHP Serbia Conference delivers high-value technical content about PHP and related web technologies, architecture, best practices and testing. It offers two days of amazing talks by some of the most prominent experts and professionals in the PHP world in a comfortable and professional setting. Tickets for this event are now sold out.

Northeast PHP/UX Conference - August 9-11th 2017, Charlottetown, PEI Canada
Now in its 5th year, the Northeast PHP Conference is a web developer conference focused on PHP, Web Technology, and UX. Whilst grounded in PHP, the Northeast PHP Conference is not just about PHP. As the organisers know, most PHP developers are working on websites and applications, which means that they need more than just PHP skills to get ahead. The User Experience and Web Technology talks will help these developers broaden their skill sets and expand their knowledge & experience. Tickets are on sale now.

Pacific Northwest PHP - September 7th–9th 2017, Seattle, WA
The Pacific Northwest PHP Conference is a 3-day event in the Pacific Northwest region of the United States for PHP and Web developers. Our past conferences have included world renown speakers from the PHP community, about a wide range of topics - from APIs and CMS to unit testing and version control. The Call for Papers closes after the weekend

Nomad PHP US - June 22nd 2017 20:00 CDT
Pieces of Auth, presented by Chris Cornutt. There’s a lot to consider when it comes to the authentication and authorisation methods your site uses. Let me guide you through some of the major (and minor) decisions you’ll need to make and how to find the right fit for your needs. Topics covered will include both traditional and advanced authentication methods, access control systems, credential storage and effective logging practices to help identify threats as they happen.

Nomad PHP EU - June 22nd 2017 20:00 CEST
Transforming PHP, presented by Christopher Pitt. If you use other languages, you’ve probably found features that you wish PHP had. Perhaps you miss that bit of C# class accessor syntax. Or perhaps you’d really like to use JS arrow functions… You can have those things, and you don’t even have to write C to do it. I’m going to introduce you to a library that will allow you to use pre-processor macros, to turn your desired bit of syntax into valid PHP syntax. Then I’m going to show you a few libraries that use those macros to bring fresh and interesting new syntax to everyday PHP applications.


PHP and JavaScript Innovation Award Report April 2017 Edition - January 2017 Nominees
This is the April edition of the Innovation Award podcast hangout recorded by Manuel Lemos and Arturs Sosins, to comment on the outstanding features of all the past month nominees and winners PHP and JavaScript packages and the prizes that the authors earned, starting with the nominees from the month of January 2017.

That Podcast Episode 40: Flex
The Future's So Bright, Dave Gotta Wear Blade's Shades.

Changelog Podcast BONUS — Sustain Open Source Software, with Justin Dorfman
Justin Dorfman joined us for a special BONUS episode of The Changelog to share some details about Sustain Conference with you. It's a one day conversation for Open Source Software sustainers at GitHub HQ (SF) on June 19, 2017. No keynotes, expo halls or talks. Only discussions about how to get more resources to support digital infrastructure. Plus, we'll be there.

The Laracasts Snippets Episode 62: Should This Class Be Responsible For That Thing
The Single Responsibility is both simple and complex to comprehend at the exact same time. In fact, many people find it to be so vague to the point of being worthless. Let's talk about that in this episode, while reviewing how I personally interpret the advice for my own projects.

Voices of the ElePHPant - Interview with Sammy K. Powers
This week Cal Evans chatted with organiser of Chicago PHP User Group Sammy K. Powers.

Full Stack Radio Podcast Episode 64: "We Solved Something, Maybe! Or It Might Be a Disaster!"
Adam and David are joined by Ian Landsman to talk about his latest project and discuss some pricing ideas for PushSilver and KiteTail.

Laravel News Podcast LN37: Laracon Sessions with Freek Van der Herten
Jake and Michael kick off their series of Laracon Sessions with prolific package maintainer Freek Van der Herten, in addition to your regular dose of Laravel framework and community news.

Reading and Viewing

Can Laravel Be Used for Big Enterprise Apps? [Summary of Laravel Podcast]
Yesterday I’ve listened to a new Laravel Podcast episode with Taylor Otwell, Jeffrey Way and Matt Stauffer – and they (finally) talked about creating big apps with Laravel, lately this question is asked a lot by everyone. So is Laravel “fit” or “mature enough” for big projects? Since the podcast guys don’t provide a transcript, and listening to 50 minutes can be an overkill, I decided to write a summary, quoting the conversation and dividing the answers into more readable format like Q&A and bullet points, also relevant links. So, let’s dive in!

MageTalk LIVE @ Imagine 2017, Day 1 Part 2
The fun continues with Magetalk Live, Day 1 Part 2!!! Watch the video here.

Deploying PHP Applications with Fabric, presented by Oliver Davies
You’ve built your application, and now you just need to deploy it. There are various ways that this could be done – from (S)FTP, to SCP and rsync, to running commands like “git pull” and “composer install” directly on the server (not recommended). My favourite deployment tool of late is Fabric – a Python based command line tool for running commands locally as well as on remote servers. It’s language and framework agnostic, and un-opinionated so you define the steps and workflow that you need – from a basic few-step deployment to a full Capistrano style zero-downtime deployment. This talk will cover some introduction to Fabric and how to write your own fabfiles, and then look at some examples of different use case deployments for your PHP project.

Acquia Podcast: Drupal 8 Certification Crash Course at Texas Camp 2017!
At DrupalCon Baltimore, I got the chance to chat with David Porter and David Stinemetze from Rackspace. Listen to this conversation to learn a little more about the Daves, Drupal at Rackspace, and the value of Acquia's certification program to individuals and organisations. If you can make it, don't miss your chance to get a 10% discount on taking an Acquia certification exam by taking the Drupal 8 certification crash course at Texas Camp 2017! Watch the video here.


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

This is a class for doing symmetric encryption in PHP. 

Solarium is a PHP Solr client library that accurately models Solr concepts.

A simple PHP API extension for DateTime.

A PHP code-quality tool.

Rapid workflow for project maintainers and contributors.

Skeleton for Bluz, a lightweight PHP framework.

Payum offers everything you need to work with payments. From simplest use cases to very advanced ones.

A lightweight implementation of CommonJS Promises/A for PHP.

Brew & manage PHP versions in pure PHP at HOME.

JoliNotif is a PHP library to send notifications to your desktop directly from your script.

PHP OTP Library compatible with Google Authenticator.

Phony is a PHP library for creating test doubles.

Please help us by clicking to our sponsor:

encrypt php scriptsProtect your PHP Code
Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.

So, how did you like this issue?

Like us on FacebookFollow us on Twitter
We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks.
Also, if you have a site or blog related to PHP then please link through to our site.

unsubscribe from this list | update subscription preferences 

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

Talk to us!

If you have some news, want to share a link with us or chat with us feel free to email us.

And we also have an RSS feed that you can use.

Like us on FacebookFollow us on Twitter

Copyright ©