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!

November 30, 2017


Here we are again PHP fans, with your latest edition of phpweekly.com.

We start with a couple of releases from the PHP development team this week. PHP 7.0.26 and PHP 7.1.12 are both available immediately.

Also this week we bring you a list of 23 development tools, all recommended for boosting website performance.

We have the last part in the Building ReactPHP Memcached Client series, with the source code now complete so testing can begin.

Plus the North Meets South podcast team is back, discussing, among other things, working with legacy applications and migrations

And finally, Laracon Australia 2018 has been announced, and Michael Dyrynda answers some questions about his preparation process.

Have a great weekend folks,

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

Top 7 PHP Development Techniques to Minimise Security Vulnerabilities
As a programing language, PHP is incredibly popular for its ability to create dynamic websites, not to mention that it is free and requires no licensing fee, so anyone (with some programming knowledge) can use it. However, PHP is not bulletproof, and you may see some vulnerability here and there. Hackers and bots will try to exploit these weaknesses and gain access to your website, so it’s important to first know what these are.

Code Kata Day
Today I was at the DomCode Code Kata Day in Utrecht. Over the course of the day, we were given 4 different code katas with about an hour each to solve the problem. You could either pick a programming language you wanted to learn more about or use the wheel of languages to get a random language. Here's a summary of the day and how it helped me become a better programmer and why I think it worked so well.

PHP vs Python in 2018?
One question I get often, is which programming language should you learn? I’ve been getting this question for years! Things change in the programming world, languages come and go. But the good news is that the basics, the core concepts and techniques, are 90-95% the same in all the modern programming languages. What that means, is that your programming language choice, isn’t nearly as critical as you’d think. Why? Well, once you know one programming language, it is easy as apple pie to switch to another!

23 Development Tools for Boosting Website Performance
When dealing with performance, it’s hard to remember all the tools that might help you out during development. For that purpose, we’ve compiled a list of 23 performance tools for your reference. Some you’ll have heard of, others probably not. Some have been covered in detail in our performance month, others are yet to be covered future articles; but all are very useful and should be part of your arsenal.

How to Refactor Your Legacy Code: A Decision Matrix
When you are beginning to consider refactoring your big legacy codebase towards a new software design, then it is not uncommon to feel helpless after estimating this to be a huge terrifying 2-5 years project. To help solve the problem of not knowing where and how to begin, we have had great success using a decision matrix to decide how each part of the legacy code should be changed in such a refactoring project.

An Update on The Workflow Initiative for Drupal 8.4/8.5
Over the past weeks I have shared an update on the Media Initiative and an update on the Layout Initiative. Today I wanted to give an update on the Workflow Initiative.

Tutorials and Talks

Case Study: Optimising CommonMark Markdown Parser with Blackfire.io
As you may know, I am the author and maintainer of the PHP League‘s CommonMark Markdown parser. This project has three primary goals: fully support the entire CommonMark spec, match the behaviour of the JS reference implementation, and be well-written and super-extensible so that others can add their own functionality. This last goal is perhaps the most challenging, especially from a performance perspective.

Four Things I like About Symfony 4
Symfony 4 launches on November 30th 2017, some two years after the previous major release that was Symfony 3. Symfony 3 can be thought of as a stabilisation release with code cleanup, some new functionality and housekeeping Standard Edition (AKA Full Stack Framework). In the latest incarnation there are more significant changes, especially to the framework and some key components. Let's take a look at four features that address frustrations that I've had in the past.

Happier HTML5 Form Validation
Native HTML5 form validation the way you want it, in 6 lines of code.

Symfony Flex Private Repositories
Many Flex early adopters asked for it. The Symfony Flex server now supports private recipes repositories as announced during my keynote at SymfonyCon Cluj.

Building ReactPHP Memcached Client: Unit-Testing Promises
This is the last article from the series about building from scratch a streaming Memcached PHP client for ReactPHP ecosystem. The library is already released and published, you can find it on GitHub. In the previous article, we have completely finished with the source code for async Memcached ReactPHP client. And now it’s time to start testing it. 

PHP FPM Slow Log
The other day I was going through the configuration file for php-fpm, when I noticed a configuration directive I haven’t before: slowlog. I guess it’s been around for a while, I just never noticed it.

Laravel & Docker, Zero config with Vessel
This article is a step-by-step to get started with Vessel ( the new way to setup the Laravel setup config with docker).

Anatomy of a PHP Hack
It’s hard to come up with a title for this - but - basically I found some rogue code the other day that I thought was pretty interesting. I was fixing a “hacked” website when I came across the source of the symptoms of the hack.

Implementing CORS in Zend Expressive
On a recent project, I needed to implement CORS support for my Expressive API. The easiest way to do this is to use Mike Tuupola's PSR-7 CORS Middleware. As this is a standard Slim-Style PSR-7 middleware implementation, we need to wrap it for Expressive, so we make a factory: App/Factory/CorsMiddlewareFactory.php.

WordPress 4.9: The Most Exciting Novelties for You
WordPress in version 4.9 has recently been made available. It comes with a couple of exciting new features. But before you try them, you’ll need to update. That’s because WordPress 4.9 “Tipton” is a major release. These main versions don’t update automatically, so you’ll have to do it manually. Once that’s done, try the new features, as they are fun, and user-friendliness has been improved once more.

How to Manage Multiple Applications in CodeIgniter
Today, we’re going to explore how you can manage multiple applications in the CodeIgniter web framework using a single codebase. In the course of that, we’ll go ahead and create two different CodeIgniter applications that will share the core CodeIgniter codebase.

Debugging The Dreaded "Class log does not exist" Error in Laravel
Every now and then I come accross a Class log does not exist exception in Laravel. This particular exception is thrown when something goes wrong really early in the application, before the exception handler is instantiated.

Merging Accounts on Blackfire
Ending the multiple accounts confusion is now possible.

Modular Application Architecture - Intro
This is the first post from a series of posts that will describe strategies to build modular and extensible applications (inspired by a talk from qafoo in 2011 in Berlin).

An Approach to Testing Middleware
The problem with unit testing is that you don’t have any visibility into if the middleware is actually active and you also don’t know how it will function as the request is passed through other active middleware. Using integration tests on application routes resolves some of the issues with unit testing middleware but it makes it a little bit harder to make assertions on how the middleware is actually functioning.
News and Announcements

PHP 7.1.12 Released
The PHP development team announces the immediate availability of PHP 7.1.12. This is a bugfix release, with several bug fixes included. All PHP 7.1 users are encouraged to upgrade to this version.

PHP 7.0.26 Released
The PHP development team announces the immediate availability of PHP 7.0.26. Several bugs have been fixed. All PHP 7.0 users are encouraged to upgrade to this version.

Laravel Homestead 6.6.0 Released
Laravel Homestead v6.6.0 was released over the weekend, most notably adding self-signed wildcard SSL certificates and Symfony 4 support.

PHP UK Conference - February 14-16th 2018, London
PHP UK is pleased to announce the 13th Annual PHP UK conference; a 2-day event with 3 great tracks held at The Brewery, in the heart of the City of London. With over 700 delegates, speakers, and sponsors, PHP UK conference aims to deliver fantastic up-to-date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss. Early Bird Tickets are on sale now.

International PHP Conference - June 4-8th 2018, Berlin
The International PHP Conference is the world’s first PHP conference and stands since more than a decade for top-notch pragmatic expertise in PHP and web technologies. Internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Here is the place where concepts emerge and ideas are born - the IPC signifies knowledge transfer at highest level. All delegates of the International PHP Conference have, in addition to PHP program, free access to the entire range of the webinale taking place at the same time. Early Bird tickets are on sale now.

Podcasts

Changelog Podcast #274: Faktory and The Future of Background Jobs
Mike Perham is back for his 4th appearance to talk about his new project Faktory, a new background job system that's aiming to bring the best practices developed over the last five years in Sidekiq to every programming language. We catch up with Mike on the continued success and model of Sidekiq, the future of background jobs, his thoughts on RocksDB in Faktory vs BoltDB, Redis, or SQLite, how he plans to support Sidekiq for the next 10 years, and his thoughts on Faktory being a SaaS option in the future.

MageTalk Magento Podcast #150 - The Sesquicentennial
Phillip and Kalen celebrate 150 episodes by cursing Jamie Clark, speculating on M&A activity and looking forward to PWA-filled future of Magento.

The Laracasts Snippets Episode 73: Kicking and Screaming
It's okay to internally kick and scream your way through, just as long as you do the work. Such practical and obvious advice, yet few of us are able to follow it. 

Zend Framework Quick Bites Episode 42: What Does It Take To Start Using Zend Expressive?
What does it take to start using Zend Expressive? That’s the question I ask in the latest post on Master Zend Framework and discuss in this episode. Honestly, Zend Framework — and especially Zend Expressive — aren’t hard to get started with! So in this episode (and post) I set out to explode that myth.

PHP Ugly Podcast #83: Self Titled
Sr Developers and the 2017 Laravel Survey.

North Meets South Web Podcast Episode 38 - Professor Plum In The Library With A Wrench
In this episode, Jake and Michael talk about Clue, Laracon, working with legacy applications and migrations, machine learning, and CSRF protection.

Voices of the ElePHPant - Interview with Joshua Ray Copeland
In this episode, Cal talks with the head of the PHP Las Vegas User Group about speaking and running a user group.

Reading and Viewing

Cloudways Interview - Codeable’s Co-Founders Per And Tomaž Offers The Highlights Of Their Successful Journey
Codeable.io is the brainchild of Tomaž Zaman and Per Esbensen. The duo envisioned an agency that would connect WordPress talent to the right people in the WordPress community. At Codeable, Zaman handles product development and promotion. In this role, he is the public face of the agency at workshops and conferences. Per Esbensen is the guy who handles the business aspects of the agency. Together they make a formidable team who has taken Codeable.io to new heights. In this interview, the duo discusses the freelance business model in the backdrop of WordPress and how Codeable has evolved over the years. Let’s begin!

Announcing Laracon Australia 2018
On the Laravel News Podcast #50, Michael Dyrynda announced Laracon’s first trip “down under” in October 2018. The venue will be right in the heart of Sydney, Australia. I was able to catch up with Michael and ask him a few questions about his preparations.

Interview with Luis Pabón: Creator of PHPDocker.io
As I’ve been learning more about the PHP and Docker ecosystem, I’ve been keeping an eye out for tools that PHP developers can use to speed up or improve their Docker workflows. PHPDocker.io is one such tool, and this week I got to interview the project’s creator, Luis Pabón.

PHP Cheat Sheet Kindle Edition (by Magic Sheet, published 11th October 2017)
PHP Cheat Sheet is designed as a quick reference. If you are like me, you like to keep all of your reference material together and not in a hundred internet searches.

Node.js in Action, Second Edition Paperback – (by Mike Cantelon,‎ Alex Young,‎ Marc Harter,‎ TJ Holowaychuk and Nathan Rajlich, piublished 11th October 2017)
JavaScript on the server? You bet! Node.js is a JavaScript framework that can be used to create scalable, high-performance web applications. Using asynchronous I/O, the server can do more than one thing at a time, a key requirement for real-time apps like chat, games, and live statistics. Node.js in Action, Second Edition is a thoroughly-revised new edition that starts at square one and guides readers through all the features, techniques, and concepts needed to build production-quality Node applications. 

PHP Interview Questions: For Freshers & Experienced, Kindle Edition (by Bhupendra Singh, published 12th October 2017)
PHP Programming Language Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of PHP Programming Language. As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer.

Jobs




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 katie@phpweekly.com

Interesting Projects, Tools and Libraries

roadiz
Roadiz is a polymorphic CMS based on a node system which can handle many types of services. 

goridge
Goridge is high performance PHP-to-Golang codec library which works over native PHP sockets and Golang net/rpc package. The library allows you to call Go service methods from PHP with minimal footprint, structures and []byte support.

trucker
A PHP package for mapping remote API resources (usually RESTful) as models in an ActiveResource style.

secure-headers
A PHP library aiming to make the use of browser security features more accessible.

mibew
Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-time directly from your website.

laravel-pjax
Pjax is a jQuery plugin that leverages ajax to speed up the loading time of your pages. It works by only fetching specific html fragments from the server, and client-side updating only happens on certain parts of the page.

bunny
Performant pure-PHP AMQP (RabbitMQ) sync/async (ReactPHP) library.

mail
Library to send e-mails over different transports and protocols using immutable messages and streams.

crawler
This package provides a class to crawl links on a website. Under the hood Guzzle promises are used to crawl multiple urls concurrently.

gh-traffic
Automatically fetch and persist GitHub repository traffic data.

fakend
Fakend provides mock api from json schemas. It has been written in PHP and sits on a couple of great php libs.

pufferpanel
An open source game server management panel, designed for both small networks and game server providers.

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