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!

February 15, 2018

Welcome to the latest @phpweekly newsletter.

This week, the latest Free The Geek podcast features Najaf Ali, founder of Happy Bear Software, with an inspiring and educational chat about how he went from being a freelancer and consultant to running his own consultancy business.

Plus, in a Lightning Talk on the NomadPHP blog, Chris Hartjes talks about "How To Ruin A Career In 10 Easy Minutes".

We have the first episode of a four parter on WordPress admin notices.

And finally, the fifth annual Midwest PHP Conference takes place in Minnesota next month. Early Bird ticket sales finish today.

Thanks for all of the feedback we've been receiving on ideas for refreshing and updating your favourite online periodical. Keep them coming!

Have a great weekend.

Ade and Katie

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.


Node JS vs PHP for Server-Side Development
The NodeJS vs PHP debate is a classic standoff between tools used for creating the backend of a website.

Call to Conference Organisers: Pay Your Workshop Instructors
Speakers like myself don't get paid for doing a talk at a tech conference. That's why I call this work "open source". People will get a video or audio recording of the talk, including separately viewable or downloadable slides for free. 

WordPress: Version Control Made Easy With Git
Connecting WordPress and Git is not a bad idea per se. But, how can you do that without having to become a Git expert first? I’ll show you in the following article.

WordPress Content Scraping (Fight Back or Ignore?)
Content scraping, or what we like to refer to as “content stealing,” has been a problem since the internet began. For anyone publishing on a regular basis or working with SEO, it actually can be downright infuriating. 😠 The bigger you grow, the more you notice just how many content scraping farms are out there. We publish a lot of content here at Kinsta and content scraping is an issue we deal with on a regular basis. The question is, should you try to fight back or simply ignore them and move on? Today we’ll dive into some of the pros and cons of both sides.

Tutorials and Talks

Building a Vue SPA with Laravel Part 2
In this tutorial, we continue Building a Vue single-page application (SPA) with Laravel by learning how to load async data from a Laravel API endpoint inside a Vue component. We will also look at error handling when an API response returns an error and how to respond in the interface.

Fast Web Scraping With ReactPHP
Almost every PHP developer has ever parsed some data from the Web. Often we need some data, which is available only on some website and we want to pull this data and save it somewhere. It looks like we open a browser, walk through the links and copy data that we need. But the same thing can be automated via script. In this tutorial, I will show you the way how you can increase the speed of you parser making requests asynchronously.

New in Symfony 4.1: Added Support for Immutable Dates in Forms
The DateTimeImmutable class was introduced in PHP 5.5. It provides the same API as DateTime, but when calling to its modify() or set*() methods, it returns a new DateTimeImmutable object to not change the original value.

A Guide To A Proper PHP Console Application
Googling this topic, I could only find official documentation on Symfony’s Console Component and some tutorials on quick building, but i’d like to write about making a real scalable console application that you could use in an actual production project. I’ll explain the reasons we do each of the things.

Talk To Anything With Broadcastable Events
The problem is not a new one in web development: you have a page you want to update with some bit of dynamic information, so you get to work crafting an AJAX request that continuously polls some back-end service, waiting for that precious bit of data.

Creating a Living Style Guide with Open Social
A living style guide - a way to control markup or CSS - has been making a name for itself. And for a good reason; they’re an important tool for web development. They keep developers in sync, communicate design standards, and help organise complex interfaces. In this post, I want to discuss how and why living style guides are important and how to implement one for Open Social using Drupal for software.

The BotMan WebDriver Explained
The WebDriver is one of the best features about the BotMan library. Still I see a lot of people struggling with the concept and how to use it. Let's clear things up and let me show you how I already used this driver in production.

Reducing Call Sites With Dependency Injection and Context Passing
While reading David West's excellent book "Object Thinking", I stumbled across an interesting quote from David Parnas on the programming method that most of us use by default.

ReactPHP with RecoilPHP: Creating for/http-middleware-psr15-adapter
There are more uses for coroutines than just making working with promises easier. In this post we're diving into the details on how they are used by the Friends of ReactPHP in the PSR-15 Middleware adapter for react/http.

My Top 3 Laravel 5.6 Features
Yesterday Taylor Otwell released Laravel 5.6 right before the Laracon Online conference. We had a little conference party here in Vienna and a great time watching all the talks together. In one of them Taylor walked us through the new Laravel features and I want to point out my top 3 of them.

How We Replaced RabbitMQ by Redis
There are various places in Tuleap were message queues are needed but the primary one is to run jobs in background.

Easy Role Management with Pivot Models
If you have ever developed any kind of SaaS app (like Spark), you know what team level role management means. Instead of picking a bad strategy for handling roles, we can bring a simple solution by using Pivot Models.

Defense Programming: Anticipating Failures with Tests
When you start working on a new feature, it is wise to plan out not only how it is expected to work, but what happens if something fails. Taking the time up front to anticipate failure is a quality of a great developer.

Pretty Printing BSON
In Wireshark and MongoDB 3.6, I explained that Wireshark is amazing for debugging actual network communications. But sometimes it is necessary to debug things before they get sent out onto the wire. The majority of the driver's communication with the server is through BSON documents with minimal overhead of wire protocol messages.

Persisted WordPress Admin Notices: Part 1
In this four-part tutorial series, we'll explore WordPress admin notices in detail and find out how to dismiss persistent notices in various ways.

Docker Nginx Host Not Found in Upstream Error
I’ve been toying around with Docker for the past couple of days, mostly to learn more about it, to understand it better. I just didn’t bother with it until now.
News and Announcements

Laravel v5.6.0 Released
As promised, Laravel 5.6 was released at Laracon Online 2018. Checkout the release notes and the upgrade guide.

Joomla 3.8.5 Release
Joomla 3.8.5 is now available. This is a bug fix release for the 3.x series of Joomla fixing regressions which were reported after the 3.8.4 release.

Spark 6.0 Is Now Available
Laravel Spark 6.0 is now available and this is one of the biggest updates yet. Some of the features of this release include localization, per seat pricing, a new UI and more.

Atlas 2.1.0 Released with “Polymorphic Association” Support
I’m happy to announce that I released Atlas 2.1.0 late yesterday. (Atlas is a data mapper for your persistence model in PHP – not your domain model.)

Expressive 3 Alpha 3
Today, we pushed the final changes and fixes that culminated in the Expressive Installer and Skeleton 3.0.0alpha3 release! The alpha releases have a ton of great features; keep reading to find out more!

Homestead Welcomes Z-Ray by Zend
Since the release of Homestead version 7.1.0 and base box version 5.1.0 Homestead now supports the Zend Z-Ray plugin for PHP 7.2. You can start leveraging the power of Z-Ray in your application with a small changes to your Homestead project.

Midwest PHP Conference - 9-10th March 2018, Minnesota
Midwest PHP is the FUN conference. This is our fifth annual conference, and each year it gets better and better. Our goal is to share best practices, ideas, and techniques about building state-of-the-art software applications. Early Bird tickets sales end today.

SymfonyLive Paris Conference - 29-30th March 2018
The French edition of the SymfonyLive conference will be entirely held in French. Tickets are on sale now.

php[tek] Conference - May 31st-June 1st 2018, Atlanta
php[tek] 2018 is the premier PHP conference and annual homecoming for the PHP Community. This conference will be our 13th annual, and php[architect] and One for All Events are excited to continue to host the event in Atlanta! Early Bird Tickets are on sale now.

WavePHP Conference - September 19th-21st 2018, San Diego
WavePHP Conference is bringing the wonderful PHP community to the Southwest United States. Designed to be a conference for both professionals and hobbyists alike. Held in beautiful southern California's San Diego County the area has ideal weather and tons of activities. The Call for Papers is now open, and Blind Bird tickets are on sale now.


Three Devs and a Maybe Podcast - Symmetric and Asymmetric Encryption with Scott Arciszewski
In this weeks episode we are lucky to be joined again by Scott Arciszewski. We start off the show by discussing the difference between Symmetric and Asymmetric Encryption, what Authenticated Encryption is and how secret-keys are exchanged using Diffie-Hellman. From here, we move on to highlight how Elliptic-curve cryptography works, what DNSCrypt is and why prime numbers are so important in cryptography. Finally, we touch upon multi-factor authentication, how one time passwords work, SMS vulnerabilities and how to manage password recovery.

That Podcast Episode 44: The One Where We Manage Products
Christophe Dujarric joins Beau and Dave to talk about Product Management.

Changelog Podcast #283: Devhints - TL;DR for Developer Documentation
Rico Sta. Cruz joined us to talk about his project Devhints (cheatsheets for developers). There are more than 365 cheatsheets you can contribute to and it's open source. We talked about the design, technical implementation, community, alternate interfaces like the command line. We also talked about RSJS, RSCSS, and Docpress. 

MageTalk Magento Podcast #160 -  “Australia’s a Big Joint”
Kalen realises that Australia is massive. The guys make a HUGE announcement. Phillip explains the super blue blood moon.

Free The Geek Podcast: Episode 32 - Do I Start a Software Consultancy, The Warts and All Account, with Najaf Ali
In this episode, I have an extremely interesting, inspiring, but most of all educational chat with my mate Najaf Ali, founder of Happy Bear Software, about what it's like to go from being an independent software consultant and freelancer to running a software consulting business. He shares a no-holes-barred account of his experiences, more than you may expect to hear!

Laravel News Podcast LN54: Docker for PHP Developers with Paul Redmond
Jake and Michael catch up with Laravel News writer Paul Redmond and discuss all things Docker on the heels of Paul's new book Docker for PHP Developers.

The Laracasts Snippets Episode 79: Programming Truths
Too many ideas and practices in programming are accepted as basic truths. "Don't do it like that! It's dirty." What I'm concerned with is who gets to determine what is and isn't acceptable code to write. Today, I'd like to share four common practices and ideas that I tend to disagree with.

PHP Ugly Podcast #94: A Plea For Help
Topics include Wave PHP Conference and Mongo DB.

North Meets South Web Podcast Episode 40: Drop Sets, Engaging Stakeholders, and Real Time Stats with Matty Lantz
Jake and Michael were joined by Matty Lantz and covered such topics as working out, the recently completed Laracon Online, engaging stake holders, and real time stats with Facebook Insights.

Reading and Viewing

How To Ruin A Career In 10 Easy Minutes
Presented by Chris Hartjes. While building up a presence on Twitter I discovered I had the power to really help people…or tear them down if I chose to…which I sometimes did. I want to talk about toxicity in open source projects and why the secret weapon isn’t tight coding or GitHub’s collaborative tools, but empathy. 

Cloudways Interview - A Sneak Peek In The Life Of Juan Felipe Campos
My first interaction with Juan was completely by accident. We came across each other during a discussion in a marketing group, and he accepted my request for an interview. It took a month to get the interview answers, but his detailed and invaluable answers will keep you glued till the end.

Slim PHP When You Don’t Need The Kitchen Sink
This year at SunshinePHP I debuted a brand new talk “Slim PHP when you don’t need the kitchen sink”. Join us for an introduction into the Slim framework. We’ll cover getting started, building a small application, and using components from bigger frameworks and other extraordinary sources.

Botman Playground: Start Your Next Chatbot Idea In Your Browser
Marcel Pociot recently launched a course called “Build A Chatbot,” a step-by-step video course on developing, extending, and testing Chatbots and Voicebots. Marcel is the author of Botman, a PHP chatbot framework for building chatbots. Considering that Marcel created Botman, this course is going to give you a jumpstart like no other on writing chatbots in PHP.

Dries Buytaert Shares His View on Decoupled Drupal: When, Why, and How
Join Dries Buytaert, founder of Drupal and CTO at Acquia, as he shares his knowledge on how Drupal has an advantage over competitors, and discusses his point-of-view on why, when, and how you should implement decoupled Drupal.


PHP Developer (m/f)
You’re proud to call yourself a nerd and consider programming in PHP to be more than just a job? You’d like to help us make our shop better and faster while simultaneously providing our customers with an unparalleled and flawless shopping experience? If you feel like this describes you, and also happen to have a weakness for new technology, you’re just the person we’re looking for!

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

Interesting Projects, Tools and Libraries

This library helps you to keep YAML files alphabetically sorted.

This is a complete port of the Python library vhf/confusable_homoglyphs to PHP.

A standalone, semi-interactive web shell, it's main purpose is to assist in penetration tests where traditional reverse shells are not possible. 

Increase your traffic, view your stats, speed up your site, and protect yourself from hackers with Jetpack.

A highly customisable, open source server software for Minecraft: Pocket Edition written in PHP.

Google cloud client library for PHP.

The Yii 2 wrapper to build beautiful and easy editable websites pretty fast!

MsgPHP is a project that aims to provide (common) message based domain layers for your application.

PHP version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

voten is an open-source, beautiful, highly customisable yet deadly simple, and warm community. 

Firebase admin SDK for PHP.

Method redefinition (monkey-patching) functionality for PHP. 

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 ©