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!

May 3, 2018

Welcome Back PHP Fans.

The famous 30 Days of Testing Challenge is back! This months theme is E-Commerce testing, with one challenge set per day of the month plus a bonus challenge at the end.

Also this week, after starting, but never finishing, a book on Conference Speaking for Everyone last year, Gary Hockin has posted the first and only finished chapter. All feedback welcome!

The Three Devs and a Maybe Podcast team is joined by Jay Smith, talking all things crypto currency.

Plus PHPDay takes place next week in Verona. Looking at new development traits and best practices, this conference is aimed at IT managers, developers and innovators.

And finally, the May edition of php[architect] magazine has just been released. Titled Treasure, Old and New, this issue looks at clearly documenting when you're debugging, focusing on keeping your application code shiny. 

Enjoy your read,

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.


Choosing PHP in 2018
I bet you do not see those words very often. We live in a time where there are a plethora of programming languages and frameworks. As web developers, we have so many options, it can be very difficult to know what to learn and use to build a modern website.

Remote Working
Since I've been working remotely since last October, I was curious to read more about it in a book by people who have a thriving business with lots of remote workers. At least there should be some useful suggestions in it, and some reassurance that some of my own remote working troubles were nothing special. I found both in this book. Together with some powerful quotes from the book, I wanted to share some of my own discoveries about remote working with you in this post.

30 Days of E-Commerce Testing
Our famous 30 Days of Testing Challenge is back! The theme this time is E-Commerce Testing and this challenge has been kindly sponsored by Sauce Labs - check out their free Selenium Bootcamp, written by Selenium ninja Dave Haeffner.

Celebrate the WordPress 15th Anniversary
May 27, 2018 is the 15th anniversary of the first WordPress release — and we can’t wait to celebrate! Join WordPress fans all over the world in celebrating the 15th Anniversary of WordPress by throwing your own party!

Tutorials and Talks

Creating Custom Stream Filters in PHP
In this post we will see how to create a custom stream filter. Streams, first introduced in PHP 4.3, provide an abstration layer for file access. A number of different resources besides files – like network connections, compression protocols etc. can be regarded as “streams” of data which can be serially read and written to.

How Many Parameters Is Too Many?
Now, that is a classic question, that is often a minefield for anyone writing an increasing long list of argument in a method, or simply trying to set up auditing tools. Obviously, the answer is not immediate. Parameters may be needed, but on the other hands, currying functions allows to reduce the amount of parameter to one for every function. In between, probably exists a reasonable level that is a golden rule, and also very elusive. So, we decided to check the current practice in PHP code.

Solitary or Sociable? Testing Events and Listeners using Laravel
Testing with Laravel is very easy, but it can be a nightmare when the tests depend on Events and Listeners. In this post I’m gonna show you how you can simplify and improve those tests.

Array Destructuring in PHP
In my day to day job I write in a number of programming languages. The majority of my time is spent writing PHP but I very much enjoy writing other languages, such as Go and Javascript, too!

Lightweight Breadcrumbs in Laravel
Breadcrumbs are important in web applications. But most of the time, it’s not the easiest to track the different levels in your URL and generate breadcrumbs from it. Now we give it a try with a simple yet elegant solution.

Creating A React Native App for iOS
React Native is a great JavaScript framework for creating cross-platform, native apps. With one single codebase you can support both Android and iOS. A fellow PHP developer, Jordan Walke, created React to help manage the front end of Facebook back in 2011. React has since been expanded and also spawned its sidekick React Native.  There are multiple reasons to use React Native as opposed to some other cross-platform tool.

How To Deploy Laravel to Kubernetes
Laravel is an excellent framework for developing PHP applications. Whether you need to prototype a new idea, develop an MVP (Minimum Viable Product) or release a full-fledged enterprise system, Laravel facilitates all of the development tasks and workflows. In this article, I’ll explain how to deal with the simple requirement of running a Laravel application as a local Kubernetes set up.

Context Passing
I'm working on another "multi-tenant" PHP web application project and I noticed an interesting series of events. It felt like a natural progression and by means of a bit of dangerous induction, I'm posing the hypothesis that this is how things are just bound to happen in such projects.

How to Set Up a Full-Text Search Using Scout in Laravel
Full-text search is crucial for allowing users to navigate content-rich websites. In this post, I'll show you how to implement full-text search for a Laravel app. In fact, we'll use the Laravel Scout library, which makes implementation of full-text search easy and fun.

Running the Laravel Scheduler and Queue with Docker
In Laravel, one of the tricky changes when switching from a virtual server to Docker is figuring out how to run a scheduler and a queue worker. I see this question come up quite a bit when PHP developers are trying to figure out how to use Laravel with Docker.

Migrate Your Local PHP 7.2 Setup to Homebrew v1.5.*
Last week, Hans Puac, a colleague of mine, wrote a small guide into our internal company chat on how to migrate your local PHP environment on macOS to the new Homebrew version 1.5.*. The guide helped a lot of other engineers inside trivago. I thought it might help more people from the internet. I asked Hans if I am allowed to share it, and he approved. So kudos belongs to him.

A Quick Controversial Lesson on Type Hints
One lesson I’ve learned the hard way, even when testing, is that you like to write your tests from a clean database. So you make a factory User whose id is 1, and a factory Customer whose id is 1, and two factory Products whose ids are 1 and 2… It is very easy to make your tests pass with the wrong values being inserted if you aren’t careful.

How I Got into Static Trap and Made Fool of Myself
Today the format will be reversed - first I'll show you practical code and its journey to legacy, then theory takeaways that would save it.

Automatically Close Stale Issues and Pull Requests
At Spatie we have over 180 public repositories. Some of our packages have become quite popular. We're very grateful that many of our users open up issues and PRs to ask questions, notify us of problems and try to solve those problems.
News and Announcements

PHP 7.2.5 Released
The PHP development team announces the immediate availability of PHP 7.2.5. This is a security release which also contains several minor bug fixes.

PHP 7.0.30 Released
The PHP development team announces the immediate availability of PHP 7.0.30. This is a security release. Several security bugs have been fixed in this release. All PHP 7.0 users are encouraged to upgrade to this version.

PHP 7.1.17 Released
The PHP development team announces the immediate availability of PHP 7.1.17. This is a security fix release, containing many bugfixes. All PHP 7.1 users are encouraged to upgrade to this version.

PHP 5.6.36 Released
The PHP development team announces the immediate availability of PHP 5.6.36. This is a security release. Several security bugs have been fixed in this release. All PHP 5.6 users are encouraged to upgrade to this version.

Laravel 5.6.19 Released
Laravel version 5.6.19 was released yesterday with support for multiple CC, BCC, and Reply-To recipients. Also, the Optional class now implements the __isset() magic method.

MySQL 8.0 Released With New Features and Improved Performance
The MySQL development team has announced the General Availability of the MySQL 8.0.0 Open Source database.

PHPDay Conference - May 11-12th 2018, Verona
PHPDay is aimed at IT managers, developers and innovators. We'll show new development traits, best-practices and success cases related to quality, revision control, test-driven development, continuous integration and so on. There are also talks about design, project management, agile and various php-related technologies like Zend Framework, Symfony, Laravel, Drupal, WordPress and more. Tickets are on sale now.

China PHP Conference - May 19-20th 2018, Shanghai
We will be hosting a 2-day event filled with high quality, technical sessions about PHP Core, PHP High Performance, PHP Engineering, AI and Blockchain more. Don’t miss out on 2-great days sessions, delicious food, fantastic shows and countless networking opportunities to engage with speakers and delegates. 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. Tickets are on sale now.


Three Devs and a Maybe Podcast - Proof of Everything with Jay Smith
In this week’s episode we are lucky to have Jay Smith back on the show to talk all things cryptocurrency. We start off the podcast by briefly recapping what’s been happening within the space since we last spoke. This leads us to discuss the Lighting Network running on the Bitcoin Mainnet, CryptoKitties, ERC-721 tokens and Ethereum Casper. From here we chat about Proof of Work, the environmental impacts of the protocol and how Proof of Stake differs. Finally, we chat about Web3, experiences using PIVX, Steemit and IPFS.

Post Status Draft Podcast - Designing The News
In this episode, Brian and Brian discuss a variety of news topics spanning design, development, and business. Tune in to learn about the history of WordPress and the web, the newest TechCrunch redesign, a WordCamp for WordCamp organisers, and more.

The Changelog Podcast #295: Scaling All The Things At Stack
Julia Grace joined the show to talk bout about scaling all the things at Slack. Julia is currently the Senior Director of Infrastructure Engineering at Slack, and has been their since 2015 — so she's seen Slack during its hyper-growth. We talked about Slack's growth and scale challenges, scaling engineering teams, the responsibilities and challenges of being a manager, communicating up and communicating down, quality of service and reliability, and what it takes to build high performing leadership teams. 

Reading and Viewing

Conference Speaking for Everyone - Submitting Chapter (Free)
This is a full chapter from my started-but-never-finished book called Conference Speaking for Everyone. I’m posting this finished single chapter that’s been sitting on my laptop for nearly a year to a) Get some feedback and hopefully some impetus to finish the book, and b) Put what I hope is some useful information into the hands of the people who need it. So enjoy the entire full chapter (all 3000+ words of it), and if you like it and would like to see the finished book… MAKE SURE TO PESTER ME ON TWITTER!

Cloudways Interview - James Gurd: Ecommerce - Trends, Scope and Future
James Gurd is among the rare talent who is always ready to help e-commerce enthusiasts learn more about the intricacies of the business. He hosts #EcomChat, a Twitter chat session every Monday, and is the CEO of Digital Juggler, an e-commerce marketing agency that focuses on building long-term relationships. In this interview, we talked to him about the latest trends in e-commerce, marketing strategies that still work, and white hat tactics for successful e-commerce marketing today.

How To Get A Programming Job Without A Degree
Sign up here to be one of the first to receive a free, 80 page guide on how to get a programming job without a degree. The guide will cover curated paths to pursuing programming careers with key resources such as those in artificial intelligence or web development, technical foundations, and different proven techniques to get jobs even if you don’t have a programming background (the author having worked with and helped with input in one of the leading online bootcamps for technical skills, Springboard).

php[architect] Magazine May 2018 - Treasure, Old & New
You’ve probably been deep into debugging an issue, when you have a “How did this ever work?” moment. When you inherit someone else's codebase, you’ve also probably asked: “How is this supposed to work exactly?” I’ve found a lot of programming time is spent alternating between these two extremes. While you may be under pressure to just fix something or get a feature out the door, it’s worth taking a little time to pay-it-forward, usually to your future self, by documenting things clearly, adding tests, and choosing an easy-to-understand solution instead of a clever one. In this issue, we focus on how to keep your application code shiny. 


German Speaking 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 [email protected]

Interesting Projects, Tools and Libraries

Repository to develop Symplify packages. All PRs and issues here.

A flexible, elegant, fast and easy-to-use content management system written in PHP. 

Easy to use yet feature-rich and secure password manager for Nextcloud.

A pure PHP implementation of the MessagePack serialisation format.

This web application allows everybody without any particular knowledge required in webmastering to create his own website.

UNA is a CMS - Community Management System - a full-stack web platform for creating and running a community website. 

Copona is open source PHP digital e-commerce platform inspired and based on Opencart.

Google Reader inspired self-hosted RSS reader written in VueJS with a Laravel Lumen backend. RSSMonster is compatible with the Fever API.

The purpose of this repository is to show good development practices on Laravel as well as to present cases of use of the framework's functionalities.

Sulu core bundles & components.

GitElephant is an abstraction layer to manage your git repositories with PHP.

Plugin for creating and/or rendering PDFs, supporting several popular PDF engines.

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 ©