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!

January 4, 2018

Welcome to 2018, and to the first edition of PHP Weekly News of the year.

As we enter a new year we take a look back at the achievements of various frameworks during 2017, including Laravel, Joomla, Symfony and Zend.

We also announce Laracon EU taking place in Amsterdam late August. Blind Bird tickets are available now.

Laravel 5.5.28 was released last week, the last release of 2017.

Plus we have an article that looks at page caching when personalised content is involved.

And finally, the Free The Geek podcast team are joined by Robert Basic, discussing the pros and cons of setting up your own business versus seeking full time employment.

Wishing you all a Happy New Year!

Katie and Ade

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect 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.


10 Best PHP Instagram Scripts & Widgets
Today, I’m taking a look at the 10 best PHP Instagram scripts and widgets available at CodeCanyon. Some will help you automate routine functions, others help you break through the barrier to downloading images and videos from Instagram, and others still help you do a range of tasks like creating e-postcards from Instagram photos.

The Best of Laravel News 2017
Here’s a look at the most popular articles we wrote this year, including the major release of Laravel 5.5, command line tips, Vue.js tutorials, bash tricks, and of course, popular Laravel tutorials.

Joomla Year in Review - 2017
There are many fine achievements to reflect on as we look back on 2017. Most importantly the Joomla Project wants to say a massive "thank you" to all our volunteers. As an open source project, Joomla can only achieve what it does with the valuable contributions of our extensive global community of hard-working volunteers. On behalf of the Joomla Project, Thank You!

Symfony 2017 Year in Review
The end of the year is the best time to review all that we achieved as a community during the past twelve months. These are some of the highlights of the 2017 year for the Symfony Project.

Zend Top 10 Posts of 2017
What a great year for PHP! From the launch of PHP 7.2 and huge growth for Zend Framework to the release of Zend Server 9.1 and the best ZendCon ever, we’ve seen tremendous opportunities for both the technology and the community. Here are the top ten most popular articles we posted in 2017, covering a wide range of topics. Enjoy this walk down memory lane and prepare for an amazing 2018!

Tutorials and Talks

Stop Checking if Record Exists: Eloquent Methods OrCreate and OrNew
Another “hidden gem” of Laravel which is surprisingly rarely used or even known, though it’s mentioned in the official Eloquent documentation. Imagine that you have a record, and you need to check if that record already exists in the database – to prevent duplicate, you wouldn’t save it second time. There’s an elegant way to perform it in Eloquent.

PHP Security Part 2: Directory Traversal & Code Injection
Most web vulnerabilities are a result of bad coding habits or lack of PHP security awareness by developers. The source of probably all of them relies in the fact that user input, which plays a critical role in the security of a web application, is being trusted. This is probably the single point of failure which results in the many different attacks we have seen over the years. Part 1 in this series on PHP Security looked at SQL Injection. In Part 2 we will be taking a look at PHP security problems associated with Directory Traversal and Code Injection, as well as giving examples of insecure PHP code.

Solving The “Widget Problem” In ADR
The “widget problem” is when you have several panels or content areas on an HTML page that have different data sources. You might have a main content area, then a calendar off to the side, with perhaps a list of recent news items or blog posts, a todo or reminder widget, and maybe other information panels. The problem is that they each have different data sources, and may not always be displayed in every circumstance — perhaps they are only shown to some users based on their preferences, or under certain conditions.

Using Laravel Translation Strings in Vue.js
One issue you will face if you need to make a multi-lingual site is how to keep your translations organised for both your back-end framework and your javascript components. I’m going to demonstrate the basic technique for this, using Laravel and Vue.js for my example.

Composer Local Packages for Dummies
This is the simplest way to start using /packages directory in your application, that leads to cleaner code, maintainable architecture and is the best to start testing.

Implement CAPTCHA In CodeIgniter
CAPTCHA is a randomly generated string (or a set of images) that appears when verification is required. It is an essential requirement for cutting down the spam at a website. In many cases, it is the only line of defense a website has against bots that spam websites. In this tutorial, I will demonstrate how you can easily implement CAPTCHA in your CodeIgniter projects.

'Memes as a Service' using Lambda, Serverless and ImageMagick
I’ve recently been getting really interested in the concept of Functions as a Service (FaaS) and the Serverless Framework. I decided to make a little experimental AWS Lambda, to see how I could use it to manipulate images. For this contrived example I came up with the (silly) idea of ‘Memes as a Service’ (everything needs to be a service nowadays). The consumer will be able to supply top and bottom text, along with specifying the desired supporting image. Fortunately the stock Lambda Node.js environment comes equipped with support for the popular ImageMagick. In this blog post I wish to present how I went about solving this problem using the Serverless Framework.

How to Send Emails in Laravel
In this article, we're going to explore the Mail API in the Laravel web framework. Laravel takes advantage of the popular SwiftMailer library, which is easy to use and comes with a variety of email drivers to choose from. In the latter stages of the article, we'll go through an in-depth demonstration of the concepts discussed in the first half of the article.

Using Npm Scripts as a Build Tool
In my last article, I compared the popular front-end build tools Grunt and Gulp, and talked a bit about how they are still relevant as an alternative to Webpack. I also mentioned an up-and-coming alternative that I didn’t really go into: npm scripts. Npm scripts are defined in your package.json and allow you to run CLI commands using the npm run <script> command. As a few of you mentioned in 24 that you’d like to know more about how you can use npm scripts as a build tool/task runner, that’s exactly what we’re going to look at in this article.

Don't Repeat Yourself: Automating Repetitive Tasks with WP-CLI
Have you ever found yourself going into the WordPress admin area to update themes, plugins, and WP core? Of course you have. Have you been asked, “Can you create/update/delete all the users on this CSV file?” I’m sure you’ve run into that too. Have you tried migrating a site and wished there were a plugin or third-party tool you could reach for to do the job? I know I have!

Asynchronous PHP
We're working on a new package at Spatie. It's called spatie/async and meant to do asynchronous parallel processing in PHP. Parallel processing in PHP might seem like an edge case for many web developers, but let's take a look at a few use-cases we see at Spatie.

Full Page Caching With Personalised Dynamic Content
We’ve talked a lot about WordPress performance here at Delicious Brains and the importance of page caching. However, implementing a page cache on highly dynamic sites or sites which display personalised content isn’t always easy. Previously, we’ve covered Microcaching for dynamic content, but that still doesn’t help when personalised content is involved. In this article we’re going to tackle that issue.

Using Composer Packages with OpenWhisk
When creating new OpenWhisk actions in PHP, It's likely that you'll want to take advantage of the rich ecosystem of Composer packages on The OpenWhisk PHP runtime has you covered with some pre-installed Composer packages and also the ability to upload your own using a zip file.
News and Announcements

Laravel v5.5.28 Released
Likely the last release of 2017, Laravel 5.5.28 shipped on December 28th.

ConFoo - March 7-9th 2018, Montreal
ConFoo Montreal is a multi-technology conference for web developers, with 155 presentations by popular international speakers, focused on pragmatic solutions for web developers. Great content and an amazing experience. Discounted tickets are on sale now.

Longhorn PHP Conference - 19th-21st April 2018, Austin Texas
Longhorn PHP is a 3-day conference in Austin, Texas to help PHP developers level up their craft and connect with the larger PHP community. Our main goal as a conference is to equip attendees to be better developers. If you work with developers or alongside developers, we'll showcase tools and techniques to level up your ability to solve the problems you face every day. Early Bird tickets are on sale now.

PHP Serbia Conference - May 25-27th 2018, 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. The Call for Papers is now open.

Laracon EU - 29-31st August 2018, Amsterdam
Laracon EU is a unique international Laravel event with over 750 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. Blind Bird tickets are on sale now.


Three Devs and a Maybe Podcast - Mobile Internet Isn't Cheap! with Joe Watkins
In this episode we catch up with Joe Watkins to discuss all things PHP. We start off discussion with his recent move to Spain, the pain of getting a good Internet connection and PHP TestFest. This leads us on to highlight some recent work he is doing with adding PHP bindings to Bicoin’s Secp256k1 library and a Generic Traits idea. From here we touch upon the additions that made it into PHP 7.2 and some that have already been accepted for 7.3. Finally, we get Joe’s opinion on a couple of RFC’s (Call-site pass-by-reference and Operator functions).

MageTalk Magento Podcast #154 – You’re a Creator of Creators
Phillip gets a preview, Kalen ponders post-developer life, Phillip covers 2017 in review, and - how to go about picking a local Magento partner.

PHP Ugly Podcast #88: Holi-delay
Topics include creating separate libs consumed via composer, and The Uber "Bug Bounty" payout.

Free The Geek Podcast: Episode 30 - Talking Freelancing, Running Your Own Business, and Public Speaking with Robert Basic
In this episode, I have a very informative chat with Robert Basic, a very thoughtful and insightful software engineer, consultant, open source contributor from Serbia. He provided a wealth of information on why he chose to start a software consulting business, instead of taking the more traditional path of seeking full-time employment. In a nutshell, he shares that some people are better suited to running a business or being a freelancer, because of their need for autonomy. However, he isn’t against full-time employment, as you can learn so much, such as being part of a team. A key takeaway is that despite his nervousness at speaking in public, he’s very encouraging of it as a way of giving back to the community, of helping others, and of building your career. If you’re keen to get insights and tips from a young, but very well-rounded developer, this is an episode that you won’t want to miss. So grab your favourite beverage, put your feet up, and come hear from one of the PHP community's true gentlemen.

Reading and Viewing

Cloudways Interview - Tom Willmot Talks About His Experience In WordPress Project Development
Today, we get the opportunity to interview Tom Willmot, the co-founder and CEO at Human Made Limited, a large WordPress development and consultancy agency for high-profile websites with big clients worldwide. Tom is serial technopreneur who likes adventures and some of them are: Happytables, Nomad Base, Market Realist, and Feeling Restful. In this interview with Cloudways, Tom discussed his journey, open source projects, building an agency and how to win big in life.

My Favourite Books in 2017
Following the very ambitious and successful 2016 challenge, I have decided to keep the goal at the same level of 36 books for 2017 to prove to myself that it is sustainable and wasn’t a one-off success. Surprising myself, I have crushed the goal and finished 39 books this year. Below is summary of the best of those books.

Scaling On Forge
Chris Fidao just launched a brand new free mini-course on Scaling with Forge. In a series of eleven videos, Chris walks you through setting up a site on Forge, using server optimisations, setting up a load balancer, configuring trusted proxies, and more.

The Month in WordPress: December 2017
Activity slowed down in December in the WordPress community, particularly in the last two weeks. However, the month started off with a big event and work still pushed forward in a number of key areas of the project. Read on to find out more about what transpired in the WordPress community as 2017 came to a close.

PHP Digest #11: New and Tools
Phalcon 3.3.0, LUYA 1.0 Vanilo framework, ReactPHP HTTP Server Middleware, RFC: Scalar Pseudo-type, and some PHP Magic Tricks. Hurry up to review our festive PHP digest! Merry Christmas and Happy New Year to everyone! Thanks for being with us in 2017!


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

Smart and Readable Documentation for your PHP project.

SimplePie is a very fast and easy-to-use class, written in PHP, that puts the 'simple' back into 'really simple syndication'. Flexible enough to suit beginners and veterans alike, SimplePie is focused on speed, ease of use, compatibility and standards compliance.

Phinx makes it ridiculously easy to manage the database migrations for your PHP app. In less than 5 minutes you can install Phinx and create your first database migration. Phinx is just about migrations without all the bloat of a database ORM system or framework.

PHP's best friend for the terminal, CLImate allows you to easily output coloured text, special formats, and more.

This list contains PHP libraries related to web scraping and data processing.

Workerman is a library for event-driven programming in PHP, with a huge number of features.

Self-hosted rss reader (php / mysql or sqlite) - Google Reader alternative.

Smart PHP intelligent code completion server for composer projects. 

A tool for quickly measuring the size of a PHP project.

Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets).

A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast!

Free, open-source, self-hosted CMS platform based on the Laravel PHP Framework.

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect 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 ©