sticker

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!

December 14, 2017

Hello and welcome to the latest @phpweeklynews.

Earlier this week saw the release of Laravel 5.5.25, with flysystem caching support.

Also this week we prepare for 2018 with a guide to building secure PHP software, with a strong emphasis on security.

With Joomla 4 arriving next year, now is the time to upgrade to PHP 7. Here we have four reasons why you shouldn't wait.

Plus the 4th episode of the php[podcast] is out now, taking a look at the latest php[architect] magazine.

And finally, if you are interested in setting up an online store, check out this new course on how to use WooCommerce for the whole set up process.

Have a great weekend,

Cheers
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.

Articles

4 Reasons Why You Should Get PHP 7
With the prospect of Joomla 4 next year we would like to raise awareness on the must of upgrading to PHP 7. Joomla 4 will require PHP 7 to run, as stated in this announcement. Most hosts already offer PHP 7 in their packages and it should be fairly easy to change your PHP version. (Hint: before you do, make sure you backup) If not, contact your host today. Let us give you 4 reasons why you shouldn’t wait on upgrading PHP.

Giving Back To PHP
HP has a tremendous community behind it, that community consists of you and me, and millions of others that help promote PHP by continuing to develop awesome applications that power some of the biggest websites in the world, but within this community exists a relatively small community that actively develops PHP, such as making it run on your favorite platform or making your favorite extensions compile and work or even keeps the documentation up-to-date. Today I want to dwell into that community, and perhaps giving you flavour enough to contribute back to PHP with code.

Symfony 4: Performance Out Of The Box
Performance is an interesting and sensitive topic. Suffice to say that most projects should not care too much; modern PHP frameworks are fast enough for most use cases and projects. And PHP 7 performance improvements help a lot as well. But people like to compare frameworks, and I guess performance is one way to do so.

Accelerate Drupal 8 by Funding a Core Committer
We have ambitious goals for Drupal 8, including new core features such as Workspaces (content staging) and Layout Builder (drag-and-drop blocks), completing efforts such as the Migration path and Media in core, automated upgrades, and adoption of a JavaScript framework. I met with several of the coordinators behind these initiatives. Across the board, they identified the need for faster feedback from Core Committers, citing that a lack of Committer time was often a barrier to the initiative's progress.

Valet vs VVV vs Chassis: A Comparison Guide to CLI-Based Local Dev Environments
In my last article, I reviewed a few different options for hosting WordPress locally using GUI-based apps. Well, the nerd voice was strong in the comments section of that article and the nerds want CLI-based tools. If it isn’t text or it has more than 8 colors, they don’t want to hear about it. Well, nerds – here it is. A bunch of text, about a bunch of other text, that you can use to host your WordPress websites locally. Rejoice.

Domain-Driven Design - Language
Domain-driven design is a software design that focuses on understanding underlying business. It is useful for long-term projects because it leads to high-quality software that serves users. It helps when dealing with difficult problems, keeps track of core problems and prevents us from getting lost in the code.

SOLID Principles Made Easy
This article aims to give a solid explanation of SOLID Principles and give some insight on their benefits and potential issues when applying them. Let’s go through each of them briefly.

Tutorials and Talks

Whatsapp Chat from CLI Using Puppeteer
GoogleChrome puppeteer is interesting project to create browser automation tools, testing tools or web scrapping. I was wondering to use it for something useful and an idea popped in about creating CLI application that can be used to send and receive messages on Whatsapp. So I went on to creating Whatspup, a name based on both Whatsapp and puppeteer.

Creating Your Own PHP Helpers in a Laravel Project
Laravel provides many excellent helper functions that are convenient for doing things like working with arrays, file paths, strings, and routes, among other things like the beloved dd() function. You can also define your own set of helper functions for your Laravel applications and PHP packages, by using Composer to import them automatically. If you are new to Laravel or PHP, let’s walk through how you might go about creating your own helper functions that automatically get loaded by Laravel.

Authenticate OpenUI5 applications and Lumen backends with Amazon Cognito and JWT
Today I want to create an UI5/OpenUI5 boilerplate that plays with Lumen backends. Simple, isn’t it? We only need to create a Lumen API server and connect our OpenUI5 application with this API server. But today I also want to create a Login. The typical user/password input form. I don’t want to build it from scratch (a user database, oauth provider or something like that). Since these days I’m involved with Amazon AWS projects I want to try Amazon Cognito.

Atomic Commits: Telling Stories with GIT
I always find it amazing to see how different people create pull requests. Some people like to put every file they’ve touched into one big commit. Other people split their commits up per file. There are even people that split it up according to domains. I’ve been all these people at one point in my career, but these days I’m all into atomic commits. Never heard of that concept? No worries, let me introduce you

Create Live Search In Laravel Using AJAX
In today’s article, I will demonstrate the process of creating a live search in Laravel and AJAX. Whether you have a blog or an ecommerce store, a search bar is always an essential component of the UI. However, the days of simple search bar is over. These days, a live search bar is much more efficient than a simple search bar because it displays similar content in real time. This increases the chance of landing a sale because the customer could see the largest selection of related products.

Modular Application Architecture - Pipelines
This is the third post from a series of posts that will describe strategies to build modular and extensible applications. In this post we will start looking on how to implement a plugin-system by using "pipelines". Some implementations calls them "middleware".

Organising Code into Domain Modules
We recently discussed 2 topics seemingly unrelated with my colleagues at Wizaplace: how to organise code? how to organise teams?

ReactPHP PromiseStream: From Promise To Stream And Vice Versa
One of the patterns that are used to deal with streams is spooling: we need the entire resource data available before we start processing it. One approach is to collect each chunk of data received from the stream. But, imagine that we have some client code that wants to process some data from a file. It doesn’t care about the streams, it only needs to receive the entire data from the file. With this approach, this code should be called inside the callback for the end event of the stream.

Simple PDF Rendering with Laravel
PDF generation is a core feature when our app contains invoicing or services that require a downloadable version of an information schema. Like in many other situations, a simple solution would do it instead of a full-featured package. Let’s see how to render PDFs easily.

The 2018 Guide to Building Secure PHP Software
As the year 2018 approaches, technologists in general - and web developers in particular - must discard many of their old practices and beliefs about developing secure PHP applications. This is especially true for anyone who does not believe such a feat is even possible. This guide should serve as a complement to the e-book, PHP: The Right Way, with a strong emphasis on security and not general PHP programmer topics (e.g. code style).
News and Announcements

Laravel 5.5.25 Released
Laravel 5.5.25 was released Monday with Flysystem caching support, year database data type, and support for setting the Whoops editor.

Yii PHP Framework Has Adopted AMQP Interop
Yii PHP Framework is the first of major frameworks that has placed a bet on AMQP Interop. A corresponding pull request “Add AMQP interop based driver.” has been merged to yiisoft/yii2-queue repository. Let’s celebrate it!

A New Release of zend-db
Today, we released zend-db 2.9.0! This is our first new feature release in over 18 months, and contains 7 bug fixes, 6 new features, numerous unit test additions, and many documentation improvements.

Laracon Online February 7th 2018 Early Bird Registration Reminder
As the year comes to a close, remember that for the next 20 days, you can still buy tickets to Laracon Online 2018 for $12 (regularly $25). Tickets will go up to $25 on January 3rd, which is still a great deal for the all-star speaker lineup planned. Grab tickets today before the busy rush of the holiday and new year.

Oscon - July 16-19th 2018, Portland
OSCON is the complete convergence of the technologies transforming industries today, and the developers, engineers, and business leaders who make it happen.The 20th Open Source Convention takes place next July. From architecture and performance, to security and data, get expert full stack programming training in open source languages, tools, and techniques. The Call for Papers is now open.

Nomad PHP US - January 18th 2017 20:00 CST
High Availability PHP, presented by Josh Butts. With the rise of containerized applications, more and more people are starting to consider running high-availability applications in production with Docker. This is not to be taken lightly, and the path is fraught with peril. In this talk, we’ll discuss what a highly-available Docker-powered PHP environment looks like and how to build one. We’ll also look at strategies for using Docker and container concepts to avoid getting burned by “disposable” cloud hardware. We’ll look at load balancing, service discovery, failover and talk about tools that make these manageable. We’ll also talk about the speed at which the Docker ecosystem is moving, and how to cope with that when dealing with production applications.

Nomad PHP EU - January 18th 2018 20:00 CET
Building a CI System with Free Tools and Duct Tape, presented by Julian Egelstaff. If you want to add automated testing to your development process, but don’t know where to start, I want to show you how we used GitHub, Travis-CI, Sauce Labs and Selenium Builder to create an automated continuous integration system that can put our web application through its paces after every single GitHub commit! And it’s all free. Too good to be true? No, it’s for real, and I can even prove it with screencasts of our tests running on Sauce.

Podcasts

php[podcast] Episode 4 - Modern Magento
In this episode, we dive into the November 2017 issue and how to use Magento as your ecommerce platform. Have a thought on the topics covered? Let us know with a comment below.

Voices of the ElePHPant - Interview with Bradley Holt
In this episode, Cal talks with Bradley Holt of IBM about Developer Advocacy, IBM Watson, and managing Developer Advocates.

Changelog Podcast #276: The Cloud Native Computing Foundation
Dan Kohn, Executive Director of the Cloud Native Computing Foundation, joined the show to talk about what it means to be Cloud Native, the ins and outs of Dan's role to the foundation, how they make money to sustain things, membership, the support they give to open source projects, the home they've given to Kubernetes, Prometheus and many other projects that have become the de facto projects to build cloud native applications on.

Full Stack Radio Podcast Episode 78: Ben Orenstein - Our All-Time Favourite Refactorings
In this episode, Adam and Ben Orenstein share nine of their favourite refactorings that you can use to clean up your code. 

MageTalk Magento Podcast #152 - “My Spiritual Gift is Asking 300 Questions”
What would trigger an M1 to M2 upgrade? Magento are having a content renaissance - a "content explosion"; Kalen buys Bitcoin.

PHP Roundtable Podcast Episode 69: All Things WordPress
We chat about the WordPress ecosystem.

The Laracasts Snippets Episode 75: Kevin McCallister is a Jerk (and 2017 Realisations) 
In this episode, we'll begin with a five minute discussion of Home Alone, because I know my audience - and that's what you're truly craving from me. Then, we'll move on to a variety of realisations I've come to 2017 - and they're not all related to code. 

PHP Ugly Podcast #85: Masters of our Domain
Topics include Buskoin and Laravel US 2018. 

North Meets South Web Podcast Episode 39 - The Second Annual Dads in Dev meets North Meets South meets TJ Miller Christmas Extravaganza Web Podcast
Andrew Del Prete, David Hemphill, and TJ Miller join Michael and Jake for their second annual Christmas crossover podcast. We talk about things we learned, best memories, favourite books and movies of 2017 and what we're looking forward to in 2018, as well as play a little Christmas trivia.

Reading and Viewing

PHP Digest #9: News and Tools
An interface to simplify working with CodeSniffer and PHP-CS-Fixer, a library for generating slugs based on CLDR, a simple Redis queue, an extension for nginx to display a useful page with status, and many other tools are inside the 9th PHP Digest from Zfort Group! Keep on reading.

New Course: Up and Running With WooCommerce
Setting up an online store used to be complicated, but these days it's never been easier, thanks to WordPress and WooCommerce. Our new course, Up and Running With WooCommerce, takes you through the whole setup process from start to finish.

Cloudways Interview - Tom Reidy discusses Twitter, His Agency and Work
Today, I am pleased to interview Tom Reidy, a very well-know social media personality. He is the head of social media and digital innovation at TAG The Agency, editor in chief Social Media NZ and the VP at Magnify World. The Kiwi social media influencer started his career at an early age. His expertise includes digital marketing, social media & blogging.

Ben Maggacis on Codemason and Deploying with Docker
Once PHP developers get familiar with the basics of local development with Docker, the next thing they always ask me about is deploying their projects. there’s one new option that I recently discovered that might be the most straightforward Docker hosting platform I’ve seen: Codemason. After using Codemason, I got to ask Ben Maggacis, the project’s founder, some questions about it. Below are some of Ben’s insights into how Codemason works and tips for PHP developers trying to learn Docker.

Drupal 8 Module Development: Build and Customise Drupal 8 Modules and Extensions Efficiently (by Daniel Sipos, published 27th October 2017)
Drupal 8 is an exciting new development in the Drupal community. However, the differences from the previous version are substantial and this can put quite some pressure on Drupal 7 developers that need to catch up. This book aims to help such developers in getting up to speed with Drupal 8 module development.

Murach's PHP and MySQL (3rd Edition) Paperback – (by Joel Murach, published 30th October 2017)
PHP and MySQL are two of todays most popular, open-source tools for server-side web programming. And with this book, you'll learn right from the start how to use them together, the way the pros do. In fact, you'll create a database-driven website that implements the MVC pattern in the first 6 chapters! Then, the rest of the chapters show you how to build out your PHP and MySQL skills to the professional level.

Jobs

*Senior Backend Engineer (m/f) Berlin*
At *HelloFresh*, we want to change the way people eat. As a member of HelloTech you’ll be exposed to a modern technology stack and a slick cross functional agile team setup. We have developed a refined product and provide scalability on a global level. Join our HelloTech team and help us to build a fresh food global champion!
*Are you up for a challenge?*


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

simresults
An open-source, object-oriented library built using PHP that allows you to read out log files of a race game and transforms them to a simple data model to easily read out this data.

anspress
AnsPress is an open source, developer friendly, question and answer plugin for WordPress.

primi
A scripting language written in PHP & embeddable into PHP.

phpstorm-stubs
STUBS are normal, syntactically correct PHP files that contain function & class signatures, constant definitions, etc. for all built in PHP stuff and most standard extensions.

laravel-nestable
Laravel Nestable to work with recursive logic. Category level there is no limit but this may vary depending on your server performance.

mail-panel
Nextras Mail Panel is an extension for Nette Framework which captures sent e-mails in development mode and shows them in Tracy bar.

hubzilla
Hubzilla is a general purpose communication server integrated with a web publishing system and a decentralised permission system. If this sounds like a bunch of technical mumbo-jumbo to you, just think of it as an independent platform for sharing stuff online.

cart
PHP library providing basic shopping cart functionality.

plates
Plates is a native PHP template system that's fast, easy to use and easy to extend.

wcf
WoltLab Suite Core is a free CMS and web-framework, designed for awesome websites and communities.

schematic
A minimalist library (only three classes and less than 400 lines of code at all) that helps your IDE to understand a structure of associative arrays in your PHP applications.

docs
Collection of useful PHP frequently asked questions, articles and best practices.

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 © PHPWeekly.com