Category: Tutorial


  • The wp-admin panel is already password protected in that you are required to login. Sometimes that’s not good enough. This tutorial explains how to add an additional layer of authentication to the login process, essentially blocking wp-login.php requests from annoying bots or other malicious users. Step 1: Create a `/path/to/.htpasswd` file. Step 2: Create a…

  • 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. The idea is to refactor something like this: Into this: And this: Before Imagine you have this form somewhere on your corporate intranet. The user clicks submit. They wait,…

  • When you get a new Macbook Pro with M1 chip you get an old version of Bash. Bash isn’t old. It’s still being maintained. It has millions of Linux and Windows users. Here’s how to put the newest version of Bash back inside your MacOS box. Prerequisite: Install Homebrew. (Install iTerm2 for good measure.) Install…

  • This tutorial will show you how to code a simple JSON API using Opulence PHP. We will install Opulence’s skeleton project using composer, then create a ‘user’ database entity, and finally we will match CRUD (Create, Read, Update, Delete) to POST, GET, PUT, and DELETE. Prerequisites: PHP7, Composer, MySQL. Installing Create an Opulence project with the following command:…

  • PHP7 is a general purpose scripting language well suited for web development. Composer is the defacto package manager for PHP7. This tutorial will show you how to install PHP7 and Composer on Windows 10 for use in a command prompt. A common misconception is that you need a web server like IIS, Apache, or Nginx…

  • A common misconception is that you need a web server like IIS, Apache, or Nginx to get started with PHP7 development. In fact, PHP7 has its own built in web server that you can invoke at the command prompt. Many modern PHP frameworks support this, such as Phalcon PHP. PHP7 and Composer on Windows 10…

  • The problem with Silex, and Pimple in general, is that when you do: PHPStorm has no way of knowing what’s going on in, or how to auto-complete, $app. I’ve gotten around this in the past by creating an “Inception Proxy” alongside a .phpstorm.meta.php configuration but for a new Silex project I’ve inherited this is not…