Welcome to this weeks edition.
WordPress 5.2.2 maintenance release is now available, fixing several bugs.
Also this week learn the best ways to install various versions of PHP on Ubuntu.
Have you ever wished you had a "reset WordPress" button so you could start again from the beginning? Have a read about some possible scenarios that might drive you to this and what more appropriate course of action you could take.
Plus this week Cal Evans interviewed Sebastian Feldmann in his Voices of the ElePHPant podcast, where they talked about Sebastian's git hook library Captain Hook.
And finally, the Call for Papers for Laracon AU in Sydney is currently open, happening at the end of October.
Have a great weekend,
Cheers
Katie and Ade |
Please help us by clicking to our sponsor:
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
Best Free WordPress Calendar Plugins
Have you ever wanted to add event booking and appointment functionality to your WordPress based website for free? Luckily, there are many WordPress calendar plugins available for you to use. In this post, we will cover six different free to use WordPress calendar plugins to help you get started with booking events and appointments.
Promote Drupal Status Update
In April 2018 at DrupalCon Nashville, Dries and then-Executive Director of the Drupal Association Megan Sanicki announced the launch of an initiative to help promote Drupal in the marketplace. This initiative was designed for agencies worldwide, offering marketing and sales support that unifies the Drupal brand and provides standardised materials that can be customised to each user's needs.
WordCamp Europe 2019 Recap: What You Might Have Missed
If you follow us on Twitter, you might know that last week the whole Delicious Brains team descended on Berlin for WordCamp Europe 2019. It was the first WordCamp we had attended together as part of a retreat since Vienna in 2016, and even though I have been skeptical about the benefits of WordCamps for developers in the past, this WordCamp was actually really great. If you couldn’t attend or might not have caught everything, let me catch you up on what you might have missed. |
Tutorials and Talks
How to Reset WordPress (5 Real-World Examples)
I love WordPress, but I have to admit there have been times when I’d hoped to find a “Reset WordPress” button and throw it out of the window. In this post, I’m going to cover all the scenarios in which you might want to throw your WordPress installation out of the window and start again. I’ll help you identify whether that’s really what you need to do and if not, what the more appropriate course of action might be.
Mutation Testing – We Are Testing Tests
Writing tests should assure us that the code created by us is working correctly. Often we point out the code coverage factor and if we have 100% we can say that implemented solutions are correct. Are you sure? Maybe there is a tool that can give us more accurate feedback?
Twig Adds Filter, Map and Reduce Features
Twig is the template language used in Symfony and thousands of other projects. In the last six months alone, Twig has released 30 versions for its 1.x and 2.x branches, adding lots of interesting new features. This article focuses on some of the new filters and tags added recently.
Installing PHPMyAdmin on Cloudways
Database is an essential part of any web based application for saving records and user data. Previously, I’ve written about how you can setup MySQL on debian based servers. MySQL is actually a part of LAMP/LEMP stack, both of which form an integral part of PHP applications. Hence, once you install MySQL, you can carry out your job using MySQL commands in terminal.
PHP/Lumen Data Source for Grafana
Today I need to integrate a third party service into Grafana. I cannot access directly to the service’s database, so I will integrate via JSON datasource. Grafana allows us to build custom data sources but in this case I don’t need to create a new one. I can use the simple JSON datasource.
Step Debugging Sphinx-Build in PyCharm
I’ve been trying to solve an issue with the rst2pdf Sphinx extension which allows you to use rst2pdf to create a PDF of your Sphinx documentation rather than using Sphinx’s default pdfTeX builder. In order to understand what was happening, I really wanted to inspect variable at certain stages of the process, which is easiest with a step debugger. As I already use PhpStorm for step debugging PHP, I fired up PyCharm and worked out how to do it there.
Merge JSON Arrays By Key in PostgreSQL
UPDATE: While testing more cases, I’ve come up with a solution which better covers my needs. Instead of taking distinct values, I used a FULL JOIN between the two data sets
How to Add a Free WordPress Music Player to Your Site
In this tutorial, you will learn about a completely free-to-use plugin called Audio Album that will allow you to embed audio files in a webpage and design your own music player interface with full control over its appearance.
A Package to Control The Flow of Time
Imagine you're building that your app can notify your user, but you don't want to send more than one notification in a timeframe of five seconds. How are you going to test the time aspect? Do you have to create a test that takes five minutes?
Changing PHP Settings With .htaccess
You can adjust a wide variety of PHP's default settings, with a .htaccess file. The file is placed in the folder where you want the changes to apply. The changes apply to all files and subfolders. Note the file should be called ".htaccess" and if it does not already exist you have to create it yourself with eg. an FTP program.
431 Request Header Fields Too Large
When a client sends a HTTP request with HTTP headers that are too big, a server can use 431 Request Headers Fields Too Large in response. This response can be used if either the total size of all headers exceeded some limit, or if there are individual headers that are too big.
Installing The Latest PHP on Ubuntu
In the past I’ve written up installing various versions of PHP on new releases of Ubuntu, or for new releases of PHP. In those posts I’ve often recommended compiling PHP from scratch. However, compiling PHP from scratch is a serious chore, and keeping it up to date is even more of a serious responsibility. There are better ways.
Checking a RegEx Pattern Against an Array of Strings
Checking multiple strings against the same pattern is a common task in development. Usually, we use multiple preg_match for checking values, however, PHP provides a nice function that allows us to provide an array to the checker.
Decoupling Releases from Deploys Using Feature Flags
So you've been working on this new amazing feature for a while now. You're ready to click the merge button and deploy to production, but your product owner is holding you back because there are still some minor design tweaks or not everything was translated yet. |
News and Announcements
WordPress 5.2.2 Maintenance Release
WordPress 5.2.2 is now available! This maintenance release fixes 13 bugs and adds a little bit of polish to the Site Health feature that made its debut in 5.2.
PHP Internals for the Inquisitive Developer - Online Webinar September 10th 2019 11:00 AM EDT
Even if you have no intention of becoming a PHP core developer or creating a PECL extension, cursory knowledge of PHP's inner workings can prove useful. This session will examine the lifecycle of a PHP request and equip you with essential knowledge and tools that can be used to diagnose the occasional segfault or language bug, decipher what a poorly documented SPL class actually does, and confidently answer why a PHP or C implementation is most warranted for a given problem.
Laracon AU - October 31st-November 1st 2019, Sydney
Two amazing days of learning, growing, and mingling with the Laravel community. The Call for Papers is now open.
SymfonyCon - November 19th-23rd 2019, Amsterdam
Symfony is proud to organise the seventh edition of the SymfonyCon, the international Symfony conference. This year, to celebrate Symfony, we decided to bring the entire community to the Netherlands and discover the amazing city of Amsterdam. SymfonyCon Amsterdam is a 5-days event from November 19th to November 23rd with a two-day workshop, two day conference and one hackday. Tickets are on sale now.
Nomad PHP EU - July 18th 2019 11:00 PDT
Distributed Tracing: From Chaos to Clarity, presented by Billie Thompson. Ever felt lost in your microservices architecture, unable to tell which requests go where? This talk will give you a practical guide on how to clarify where requests go, and how to visualise them. This talk will help you make the case for OpenTracing, giving you a short tour of the current tracing options. Moving on it will give you practical implementation advice including common problems such as high load and event-based systems, as well as diving into the future of tracing with the increasing adoption of FaaS. This is a practical talk aimed at people near the code.
Nomad PHP US - July 18th 2019 06:00 PDT
Software Management Lessons from the 1960s, presented by Larry Garfield. “The Mythical Man-Month” is one of the seminal books in the field of software project management. It was written in 1975, based on experience from the 1960s. Is it even still relevant? Turns out, it is. Technology may have changed dramatically but people have not. This session will present a modern overview of the ideas presented by Brooks and a look at what we can still learn from them even today.
|
Podcasts and Vlogs
Full Stack Radio Podcast Episode 117: Mitchell Hamilton - Writing CSS-in-JS with Emotion
In this episode, Adam talks to Mitchell Hamilton about writing your styles directly in your JavaScript components using the CSS-in-JS library Emotion.
Maintainable Podcast Ep 10 - Marco "Ocramius" Pivetta: What Senior Devs Should Spend More Time On (It's Not Writing Code)
Robby speaks with Marco "Ocramius" Pivetta, a software consultant specialising in PHP. Marco gives his input on different types of technical debt he's seen, working with less experienced developers as a senior, and getting "kicked in the teeth" as a developer. He also shares what great senior devs should spend more time on (hint: It's not writing code).
PHP Internals News: Episode 15: base_convert() Improvements
In this fifteenth episode of "PHP Internals News" I talk with Scott Dutton (Twitter, GitHub) about his base_convert() Improvements RFC.
PHP Ugly Podcast #155: Can't Stand It
This week Eric, Thomas and John discuss various topics including LaraconUK LIVEstream and Dependabot.
Beachcast Tech Videos 019 - Install Laravel in Docker Container on Ubuntu For Beginners
Adam Culp of Beachcasts PHP programming videos shares how to install Laravel globally, and how to create a new Laravel project and set up a development environment with Docker.
Voices of the ElePHPant - Interview with Sebastian Feldmann
Cal Evans and Sebastian Feldmann sit down and talk about PHP, Captain Hook and PHP Backup Utility. |
Wild and Interesting WordPress Statistics and Facts (2019)
WordPress has certainly come a long way since it was first launched in 2003 — so too have the WordPress statistics that help to define this powerful software tool.
Xdebug Update: May 2019
This is another of the monthly update reports in which I explain what happened with Xdebug development in this past month. It will be published on the first Tuesday after the 5th of each month. Patreon supporters will get it earlier, on the first of each month. You can become a patron here to support my work on Xdebug. More supporters, means that I can dedicate more of my time to improving Xdebug.
Security Newsletter Issue 134
A weekly e-mail keeping you up-to-date with security news, with about 10 items in every issue.
Typed Properties and More: What’s Coming in PHP 7.4?
At the PHP Russia conference, Nikita Popov presented all the nice changes coming to PHP 7.4.
A Week of Symfony #651 (17-23 June 2019)
This week, development activity focused mostly on fixing bugs instead of adding new features. Meanwhile, a new proposal was made to improve all the commands related to Symfony Flex. Lastly, the full schedule and workshops were announced for the SymfonyLive London conference (September 13).
Top PHP Influencer and Evangelist Cal Evans to Work with DevriX
We are extremely happy and very proud to announce that Cal Evans has agreed to team up with DevriX. In the months to come, Cal will partner DevriX to train us in virtual workshops, cooperate on WordPress projects and help with international accounts. He will mentor DevriX’s team and management in online sessions and in a couple of live events in Sofia.
Top 3 Free Courses on Web Development Using WordPress
WordPress powers 34% of the entire internet. That stat alone shows the importance of the stack throughout web development for not only creating robust websites but also making them dynamic and appealing to the customers. Built on PHP and MySQL, WordPress is one of the easiest platforms to learn and try out if you are going to start development on your own website. Given below are 3 free courses which will help you make your first website using WordPress. |
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 [email protected] |
Interesting Projects, Tools and Libraries
laravel-database-sticky-timezone
Service for keeping database connection timezone synchronized to PHP default timezone.
laravel-imap
Laravel IMAP is an easy way to integrate the native php imap library into your Laravel app.
web-link
The WebLink component manages links between resources. It is particularly useful to advise clients to preload and prefetch documents through HTTP and HTTP/2 pushes.
property-info
PropertyInfo extracts information about PHP class' properties using metadata of popular sources.
portable-utf8
Portable UTF-8 library - performance optimized (unicode) string functions for php.
proxy-manager-bridge
Provides integration for ProxyManager with various Symfony components.
zencart
Zen Cart® is a full-function e-commerce application for your website.
flextype
Flextype is an MIT-licensed open source project and completely free to use.
cacti
Cacti is a complete network graphing solution designed to harness the power of RRDtool's data storage and graphing functionality.
lbry.com
The website for the LBRY protocol.
wcvendors
#1 marketplace plugin for WordPress and WooCommerce.
migrations
Powerful database migrations focused on reliability. |
Please help us by clicking to our sponsor:
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?
|
|