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!

April 27, 2017

Welcome to this weeks @phpweeklynews.

Programmers and Developers, are you guilty of bad habits and poor practices? Either unknowingly or otherwise? Read this article on what is perceived to be the top thirty five worst programming habits, and see if you can relate!

Due for release in November, Fabien Potencier is currently publishing articles over the next few weeks about the main changes he hopes to implement for Symfony 4. This weeks looks at automating your workflow.

Also out this week, WordPress 4.7.4 maintenance release is available immediately.

Plus the Laravel News podcast team talk about 5.4 maintenance releases and the upcoming features in Laravel 5.5.

And finally, there's only a couple of days left to submit your talks for the Madison PHP Conference as the Call for Papers closes on Sunday.

Have a great weekend,

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.


Make Your Own Social Network, Game Server, or Knowledgebase! – Sourcehunt
It’s time for our monthly hunt for new open source libraries to use and contribute to! If you’re new to Sourcehunt, it’s our monthly post for promoting open source projects that seem interesting or promising and could use help in terms of Github stars or pull requests. It’s our way of giving back – promoting projects that we use (or could use) so that they gain enough exposure to attract a wider audience, a powerful community and, possibly, new contributors or sponsors.

35 Programming Habits That Make Your Code Smell
Bad habits are hard to break and even harder if you don't realise that what you're doing is undermining your work. If you know but don't care - that would be the worst. But you're here, aren't you? As a programmer, I've seen a lot of poor practices, not just around code, but also around teamwork skills. I've been guilty of practising many of these bad habits myself. Here are my top 35 bad programming habits, organised into four categories: code organisation, teamwork, writing code, and testing and maintenance.

Supporting The Next Evolution of Drupal's Community Governance
TL;DR: Both the community and Dries Buytaert, Project Lead, see a need to evolve Drupal community governance. The Drupal Association can help in a support role. We will start by hosting mediated community discussions so everyone around the world can participate, be heard and understood, and share their ideas. Creating a new governance model will take many months and will require an agile approach as we all feel our way through the proper steps. The Drupal Association will continue to find ways to support this process as we all move through it together.

“A False Sense of Simplicity”
These year-old posts from Piotr Solnica are about Ruby On Rails - My Time With Rails Is Up and Abstractions and The Role of A Framework - but the experiences related therein should be valuable to anyone using or building a full-stack PHP framework. (I can imagine it applying to CMSes as well). Does this story from Piotr remind you of any framework-based project you’ve worked on in PHP?

Unit Testing – The Big Picture
This is not a crash course of what characters one needs to type in his code editor to produce unit tests. This is fuel the brain requires before attempting such actions.

Tutorials and Talks

PHP Application Logging with Amazon CloudWatch Logs and Monolog
Logging and information debugging can be approached from a multitude of different angles. Whether you use an application framework or coding from scratch it’s always comforting to have familiar components and tools across different projects. In our examples today, I am going to enable Amazon CloudWatch Logs logging with a PHP application. To accomplish this, I wanted to use an existing solution that is both already popular and well used, and that is standards compliant. For these reasons, we are going to use the open source log library, PHP Monolog (

How to Take Control of Page and Post Revisions in WordPress
WordPress provides a revisions system which records a full copy of every page and post when it’s saved. The advantage: you can revert to an earlier version of the document at any time and make comparisons. Or you could discover who’s to blame for spoiling and errors grammatical.

How Can PHP Read PDF File Content and Extract Text from PDF using PHP
Extracting text from individual pages or whole PDF document files in PHP is easy using the PdfToText class. Read this article that is the first of a series that will teach you about the challenge of processing the PDF file format and how the PdfToText class can be used to extract text and images from it.

Object-Oriented Programming Concepts in PHP - Part 1
PHP is a server-side scripting language, mainly used for web development but also used as a general-purpose programming language. Object-Oriented Programming (PHP OOP), is a type of programming language principle added to PHP5, that helps in building complex, reusable web applications. In this blog, we will be explaining some Object-Oriented Programming concepts in PHP with some examples.

Manage Your Application With zend-config-aggregator
With the rise of PHP middleware, many developers are creating custom application architectures, and running into an issue many frameworks already solve: how to allow runtime configuration of the application. Configuration is often necessary, even in custom applications.

How to Verify a Phone Number via SMS
In the prior episode, I wrote about preparing your application for SMS using Twilio, a commonly used texting service. In todays tutorial, I'll show you how to verify user phone numbers before transmitting a high volume of texts and running up your costs.

Symfony 4: Automate Your Workflow
Symfony 4's most "innovative" feature is the way it drives the day-to-day application management. No more tedious copy/paste from README files. No more boilerplate code. Automation to the max. On a curated list of Composer packages.

Simple Beginner’s Guide to JavaScript Closure
Closure in JavaScript can be confusing for newcomers. However, it doesn’t have to be that way. Here is a quick rundown of what you need to know.

Dropbox Will Turn Off v1 of Their API Soon. It’s Time to Update Your PHP Application
Last year on 28th of June Dropbox deprecated v1 of their API. On the same date this year they will turn off all v1 endpoints. If you’re using Flysystem, Laravel or the official PHP SDK to work with Dropbox, it’s the time to update. Last week my company released a Dropbox API client and a Flysystem Dropbox adapter that both use v2 of the dropbox API. In this blogpost I’d like to explain how to install and use these packages.

Building Your Startup With PHP: Bootstrap Your Home Page
A web services home page has many roles. Functionally, it must make it easy for people to sign up and get started with the application. But it must also aesthetically touch visitors and give them a professional impression that your service delivers what the home page tells them it does. In todays episode, I'll walk you through how I strengthened the home page and what aspects of Bootstrap and CSS I exploited to provide a more professional appearance. 

An Introduction to Laravel Authorisation Gates
Laravel Gate has an elegant mechanism to ensure users are authorised to perform actions on resources. Before version 5.1, developers used ACL packages such as Entrust or Sentinel along with middlewares for authorisation. The problem with this approach is the permissions you attach to users are just flags; they don’t encode the complex logic of the permission for some use cases. We have to write the actual access logic within controllers.

Microcaching WordPress in Nginx to Improve Server Requests by 2,400%
We’ve talked a lot about WordPress performance and hosting WordPress here at Delicious Brains. A common theme amongst those articles is the importance of page caching and how it’s arguably the best way to improve the performance of your WordPress site. In this article, I’m going to demonstrate how to configure WordPress and bbPress with Nginx FastCGI caching. The forums will use a cache duration of one second and everything else will be cached for a duration of one hour. Let’s see if such a short cache duration can have a positive impact on performance.
News and Announcements

WordPress 4.7.4 Maintenance Release
After almost sixty million downloads of WordPress 4.7, we are pleased to announce the immediate availability of WordPress 4.7.4, a maintenance release.

Force Login - Release v2.0
Yesterday, we released the stable version 2.0 of our Force Login Module for Magento 2. To upgrade, you can get the latest release here, or update the dependency in your composer.json.

Phorkie 0.8.0 Published
My self-hosted pastebin phorkie reached version 0.8.0. It works with git version 2.11 and fixes several bugs - see the NEWS file.

Conferência PHPRS - May 12-13th 2017, Porto Alegre Brazil
An event for the PHP Developer community of Rio Grande do Sul, focused on professional growth, exchange of experiences and networking. Strengthening language and the labour market. Day One will be workshops, and Day Two will be lectures. Tickets are on sale now.

php[tek] Conference - May 24-26th 2017, Atlanta
Hello and welcome to php[tek] 2017 - the premier PHP conference and annual homecoming for the PHP Community. This conference will be the 12th annual edition, and php[architect] and One for All Events are excited to bring it to Atlanta, the empire city of the South! An amazing schedule has been put together, including 4 full-day training classes, 8 hands-on workshops, 40 breakout sessions and 6 keynotes, all being provided by 40 different speakers from around the world. Tickets are on sale now.

Laracon EU - 28-30th August 2017, Amsterdam
Are you a developer who has a passion for building web-applications? Do you love Laravel or are just in the process of getting started? Do you want to meet the community members that help make it all happen? Then this is the place to be. Laracon EU is a unique international Laravel event with over 600 attendees. The conference has multiple tracks and is focusing on in-depth technical talks. Come learn about the state of the industry while networking with like-minded and diversely experienced developers. Early Bird tickets are on sale now.

Madison PHP Conference - September 22nd-23rd 2017, Madison
Madison PHP Conference in Madison, Wisconsin focuses on PHP and related web technologies. This event is organised by Madison PHP and is designed to offer something to attendees at all skill levels. It will be two days of networking, learning, sharing, and great fun! Blind Bird tickets are on sale now and the Call for Papers will close in a couple of days.


Three Devs and a Maybe Podcast - More Server Talk with Brian Moses
In this weeks episode we are again lucky to be joined by Brian Moses, to continue our discussion on building your own home server. We start off by highlighting what ECC memory is and its value in a home server setup. Following this, we chat about looking into the second-hand market for hardware components - as an option to find a good deal. This leads us on to discuss overclocking hardware, threads vs. cores within a CPU and what Hyper-threading actually is. Finally, we mention some different NAS Operating System solutions and Brian’s foray into the world of Quadcopters.

The Changelog Podcast #247: Firefox Debugger and DevTools with Jason Laster
Jason Laster joined the show to talk about Firefox Debugger and DevTools. We talked about the backstory of Firefox, Firebug, the new Debugger.html, why React and Redux made a good fit to develop Debugger as a standalone application, community efforts, and getting started.

MageTalk Magento Podcast #125 - #roadtoimagine Series: “The One With Bob” Part 2
The MageTalk guys talk to Bob Schwartz about early decisions in Magento and what #REALMAGENTO means.

PHP Ugly Podcast #57:';DROP TABLE Podcasts
Topics this week include the free messaging app Franz, and Laravel Partners.

Lately in PHP Podcast Episode 82 - PHP 7.2 Release Date and Managers Being Chosen
PHP 7.2 development is reaching the alpha stage in June, hopefully to have a final version released later this year. So for now the release managers are being chosen, so they can start preparing to work on each alpha, beta and release candidate version. This was one of the main topics discussed by Manuel Lemos and Arturs Sosins in Episode 82 of the Lately in PHP podcast.

Voices of the ElePHPant - Interview with Adam Englander
This week Cal Evans spoke to Adam Englander - speaker, author and Senior Engineer at iovation.

Free The Geek Podcast: Episode 26 - Why Are You A Freelancer? Let's Stop And Think (Or Remember)
Often we get lost up in doing the work, searching for new clients, networking with peers and the wider community, and overall being productive. But it can be easy to forget why we became a freelancer in the first place. So, in this episode I'm going solo so that I can ask two key questions that are essential to be asked when you're a freelance. Grab your favourite beverage, put your feet up, and lets ponder on these questions, and so many others that go along with them.

Laravel News Podcast LN36: Laravel Macros, Frontend Presets, and Jigsaw
Jake and Michael recap a relatively quiet period of change on the Laravel landscape, talking about 5.4 maintenance releases, upcoming features in Laravel 5.5, and some contributions from the community.

Reading and Viewing

Phil Sturgeon Talks About API Development, PHP-FIG, PHP Books And The Future Of PHP
Today we are super excited to have Phil Sturgeon with us for this interview. Phil is a cool dude and an experienced API dev. He has a lot of experience in creating API for different platforms. Right now, he is working at WeWork as a Platform Engineer. He has written an excellent book on creating API, “Build APIs You Won’t Hate”. He has worked with popular PHP tools and frameworks including CodeIgniter, FuelPHP, PyroCMS. Phil also contributed to PHP The Right Way and PHP-FIG. Phil also speaks at PHP conferences and often mentors budding developers. In this Interview he talks about his development experiences, workflows and experience with API development.

GraphQL Subscriptions
Here is how you can add real-time capabilities to your GraphQL applications. Siler implementation is based on Apollos WebSocket transport layer.

Object-Oriented PHP Best Practices: A Small Handbook of Conventions for Writing Readable, Sustainable OOPHP Code (Kindle Edition by Ikram Hawramani)
Ikram presents a set of simple yet powerful conventions (sometimes unintuitive) that ensure an object-oriented PHP project stays lean, modular, easy to read and easy to build upon.

PHP Reactive Programming (by Martin Sikora, published 24th March 2017)
Reactive Programming helps us write code that is concise, clear, and readable. Combining the power of reactive programming and PHP, one of the most widely used languages, will enable you to create web applications more pragmatically.

Learn PHP by Examples: Practical Approach to Web Application Development (by Dr Winfred Yaokumah, published 27th March 2017)
Learn PHP by Examples provides in-depth, concise, and helpful information for those who desire to learn Hypertext Pre-Processor (PHP).


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

An asynchronous event driven PHP framework with high performance for easily building fast, scalable network applications.

A feature rich and highly flexible OpenSource Social Network Kit written in PHP.

An HTML to PDF converter.

A self hostable application for saving web pages.

A stupidly simple, blazing fast, flat file CMS. 

Project management software that focuses on the Kanban methodology.

PHP performance tool support Laravel and Composer for web, web console and command line interfaces. With built in export function to class, json and file.

Ajax SEO crawlable webapp framework with boosted UX.

Open software engineering platform and fun adventure game.

An ecosystem based on micro services that following the Domain-Driven Design can provide a serious, robust and testable project management platform written in PHP7. 

PHP-DI is a dependency injection container meant to be practical, powerful, and framework-agnostic.

This package offers an abstraction layer for creating iCalendars.

Chamilo is a learning management system focused on ease of use and accessibility.

An open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location.

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 ©