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!

January 10, 2019

Hello, and thanks for joining us at :)

Having not heard a peep from the dev/hell podcast team for months, they've released a new episode this week that was recorded six months ago....

Not only that, having not heard a peep from the Run Geek Radio podcast team for months, Adam Culp has released a new episode this week sharing challenges faced in 2018 and his possible predictions and future plans for 2019.

The January edition of php[architect] magazine is out now, looking at improving and fine-tuning DevOps processes.

Plus we look at a recently released package that can detect spam bots that try to submit fake values.

And finally, DayCamp 4 Developers takes place online next week. Still time to book your place.

Have a great weekend,

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.


A Word About My Have I Been Pwned Package
Yesterday evening I posted a Tweet about improving user entered passwords using Troy Hunt's service Have I Been Pwnd. It went viral over night with many likes and retweets. But I also got a ton of questions regarding the usage and the security of this package.

What Makes WPBakery (Visual Composer) the Best WordPress Page Builder Today?
Are you looking for a WordPress page builder that takes the hassle out of creating your website? WPBakery (formerly known as Visual Composer) is hands-down the best WordPress page builder available today.

One Year in San Francisco as a Software Engineer
In 2017 the company I worked for in Toronto got acquired by Yelp. The software engineers in my company (including myself) were asked to move to San Francisco. At the end of 2017 we moved, and I spent most of 2018 there. With the year coming to an end, I thought it might be a good time to reflect on my time there.

Web Development on an iPad
The idea of working entirely from an iPad has always appealed to me. The portability, the battery life and, of course, the touch screen makes it an excellent device. The downside is that everything is sandboxed.

Cybercrime: So Simple Anyone Can Do It
It seems that there is no end to the variety and diversity of types of cyberattacks these days. In spite of vendors and enterprises best efforts to the contrary, hackers invariably come up with new ways of infiltrating organisations and exfiltrating personally identifiable information (PII) of various sorts to cash in on their nefarious desires.

Introducing the (unofficial) Drupal Recording Initiative
Shout-out to Matt Westgate of Lullabot, who I met earlier this year at DrupalCorn Camp in Des Moines for casually referring to what I’ve been doing for the past five years as the “Drupal Recording Initiative.” It was yet another one of those moments when I realised that what I’ve been doing for the past five years is much bigger than just me.

Going Full-Time on Tailwind CSS
Late into Halloween night in 2017, we released the very first version of Tailwind CSS — a utility-first CSS framework for rapidly developing custom user interfaces. What started as just a bunch of boilerplate I was copying and pasting between new projects has grown into a serious tool that has been adopted by some of my favourite companies. Starting in 2019, I'm going to be working full-time on Tailwind CSS.

Tutorials and Talks

Creating a URL Shortener Application in PHP & MySQL
Hi Guys, In this post we will learn how to create your URL shortening application in PHP and MySQL. You may also use this app as an API by calling the URLs from another application.

How to Complete Type Declarations without Docblocks with Rector
In a previous post we looked at how to migrate from docblocks to type declarations. From @param Type $param to Type $param. Even if it doesn't break code like coding standards do, works with inheritance, localised self and static and propagates types to all child classes, it's still not such a big deal. But how do you complete type declarations if don't have any docblocks?

Preventing Spam Submitted Through Forms
When adding a form to a public site, there's a risk that spam bots will try to submit it with fake values. We recently released a new package, called laravel-honeypot, that can detect these spammy requests.

How to Increase Media File Maximum Upload Size in WordPress
In WordPress, when you try to upload a bigger size media file, you get a message “file exceeds the maximum upload size for this site“. Most of the shared hosting providers limit the file size for uploading in PHP configuration of the server which is shared equally with the users in order to balance the resources. In case, you want to upload high-resolution images or videos, you need to manually increase media file maximum upload size. Increasing upload size in WordPress is a very easy process. In this tutorial, we will show you how to increase media file maximum upload size in WordPress.

Customising Laravel's URL Signing Key
Since 5.6, Laravel has shipped with functionality to sign URLs. These URLs append a "signature" to the query string, so that Laravel can verify that the link has not been tampered with since it was created. This also allows you to generate temporary signed routes that expire after a configured period of time.

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.

Better Naming Convention
In the last couple of months, I spent a lot of time studying Proophessor Do demo project that showcases features of Prooph components, all with the aim of mastering CQRS/Event Sourcing concepts. Along the way, something else turned my attention away from the main topic - unconventional, but clean and concise naming convention for class and method names.

Hosting WordPress Yourself: Ongoing WordPress Server Optimization & Maintenance
So you’ve followed our in-depth guide and built yourself a shiny new server that’s secure and tuned for optimal WordPress performance, but what’s next? In this installment of Hosting WordPress Yourself, I’m going to outline a few tasks that should be carried out on a regular basis to ensure that your server continues to run securely and perform well. We’ll look at performing software updates, upgrading PHP and a few “gotchas” to watch out for that we may have experienced ourselves. Let’s dive straight in!

Create a Contact Form in PHP
No matter what type of website you own or manage, you probably need a contact form. The contact form can help your visitors request a quote, ask for information, or share any tips or problems they're facing while using your website. In this tutorial, our focus will be on creating a fully functional contact form in PHP from beginning to end.

How To Speed Up The Code Review
How does the code review process look? You submit a request, then receive feedback, make some fixes, push them, then receive approval and the request is being merged. Sounds nice, right? But sometimes the review process can become really painful.

Refactor Your Slow Form Using PHP Generators and Event Streams
Your form will still be slow but the user experience will be better. They will see a progress bar and see status updates in real time.

It’s About Time
As applications scale and gain adoption, dates and time become much more of a concern than they once were. Bugs crop up, and developers start learning the woes of time zones and daylight saving time. Why did that reminder get sent a day early? How could that comment have been made at 5:30 a.m. if the post didn’t get published until 9:00 a.m.? Indiana has how many time zones?! Luckily, PHP developers have the tools they need to face these problems head-on and take back control of their apps.

406 Not Acceptable
Happy 2019! After a small hiatus we’re back with this captivating series. I hope you’re as excited as I am and I hope you have the best 2019! 406 Not Acceptable is emitted by a server when the client asked for a specific representation of a resource that the server doesn’t support.
News and Announcements

WordPress 5.0.2 Maintenance Release
WordPress 5.0.2 is now available! 5.0.2 is a maintenance release that addresses 73 bugs. The primary focus of this release was performance improvements in the block editor: the cumulated performance gains make it 330% faster for a post with 200 blocks.

DayCamp for Developers - January 18th 2019 Online
PHP 7.0 was a leap forward in performance; 7.1 was another step forward, as was 7.2 and 7.3. With nothing more than keeping PHP up-to-date, applications get faster, servers work less and handle more. So why worry about performance if PHP is going to do it for us? Tickets are on sale now.

DrupalCon - April 8-12th 2019, Seattle
DrupalCon gathers a range of citizens of the Drupal ecosystem to learn, share and collaborate together. The value of the conference is in the perspectives, energy and diversity of experiences participants share. No matter who you are or where you’re from, you’re invited to participate in DrupalCon. Tickets are on sale now.

PHPKonf - May 4th 2019, Istanbul
PHPKonf should be one of the best PHP conferences where community members from around the world come together to learn and share information about the latest trends and technologies in professional PHP development. For the 6th year, we'll host some of the best speakers, awesome talk topics, latest technologies and up to date news in PHP. The Call for Papers is open and tickets are on sale now.

International PHP Conference - June 3rd-7th 2019, 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. At the IPC, 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. The Call for Papers is open and tickets are on sale now.

WordCamp US 2019 Dates Announced
Save the date! The next WordCamp US will be held on November 1-3, 2019, in beautiful St Louis, Missouri. One of our largest events of the year, WordCamp US is a great chance to connect with WordPress enthusiasts from around the world. This is also the event that features Matt Mullenweg’s annual State of the Word address. We’d love to see you in St. Louis next year, so mark your calendar now!

Podcasts and Vlogs

dev/hell Podcast Episode 95: That Took Longer Than We Expected
It did, in fact, take longer than six months. This was recorded on June 20, 2018. Still here.

The Changelog Podcast #328: State of The Log (2018)
In this year’s “State of the ‘log’” episode we’re going behind the scenes to look back at 2018 as we prepare for 2019 and onward. We talk through our most popular episodes, most controversial episodes and even some of our personal favourites.

Full Stack Radio Podcast Episode 105: Strength Training for Nerds
In the spirit of the new year, Adam and Ben Orenstein talk about getting in shape through strength training.

Run Geek Radio Podcast Ep 14 - My Predictions for PHP Development in 2019
Adam Culp (RunGeekRadio) tells his predictions for what may be in store for PHP development in 2019. He also shares what his challenges were in 2018 that prevented him from podcasting more, and informs what his future plans are.

PHP Ugly Podcast #134: Third Time's A Charm
This week Eric, Thomas and John discuss various topics, including workplace by Facebook and the world's biggest data breaches and hacks.

Beachcast Tech Videos - Setting Up PhpStorm for PHP Development with Docker Containers for PHP, Apache, MySQL and PHPUnit
How to set up PhpStorm for local PHP development using Docker containers with PHP 7.2, Apache webserver, MySQL database, and PHPUnit testing framework.

Reading and Viewing

GitLive - Branching - Merging
As things have slowed down in the new year, I've decided to give this blog a sparkle of life briefly. So if you are interested in engaging our services feel free to send us a message. As we have spare capacity at present.

php[architect] Magazine January 2019 - DevOps Depths
Your job doesn’t end when you finish writing and committing code. Someone has to ensure a web application is available online, scalable and secure. This issue collects articles to help you improve and fine-tune your DevOps processes.

A Week of Symfony #627 (31 December 2018 - 6 January 2019)
This week, the upcoming Symfony 4.3 version added a new isFormValid() shortcut for controllers, introduced a new theme option for dump() contents and simplified form theming with a new block_prefix form field option.

Cloudways Interview - Nicolas Lecocq, Founder of OceanWP
OceanWP is a complete WordPress theme that offers extensive features set as well as performance. The theme is tested and turned out to be lightning fast and loaded in just 526ms with dummy data. Today we are interviewing the man behind OceanWP, Mr Nicolas Lecocq, who put a lot of efforts and thoughts in developing this theme.

Looking Back on Global Training Day
The final Global Training Day of 2018 has come and gone, and it was a great effort. FFW provided a free, in-person Website Building with Drupal training the whole day on Friday, November 30 in NYC, and had a great time. Here’s our take on the event, and why it’s important to support Global Training Day.


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

Id obfuscation based on Knuth's multiplicative hashing method for PHP.

Sick and tired of building crappy SOAP implementations? This package aims to help you with some common SOAP integration pains in PHP. Its goal is to make integrating with SOAP fun again!

This is a unified bug tracking system for PHP hosted online at

Build workflows, activities, BPMN like processes, or state machines with PVM.

The first if-less and switch-less enum for PHP. Push behaviour down to enumerated values.

A lean framework stack for agile Web development based on Symfony and Vuetify.

Free open source restaurant ordering and management system. TastyIgniter provides a professional and reliable platform for restaurants wanting to offer online ordering to their customers.

A tool that can speed up linting of php files by running several lint processes at once.

The unified tool for managing your services from the command line.

PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.

Free open source user management system for websites of organisations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organisation.

Sermon Manager for WordPress is the #1 plugin for churches who want to manage their sermons easily and missionally.

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 ©