Posts

Installing PHP 8.0 Beta 1 on Ubuntu 20.04 (Focal Fossa)

PHP 8 is on its way and we wanted to have the opportunity to work with it for some of our future expansions at ThisProgrammingThing.com (sign up for our mailing list to learn when it launches). This guide will explain how to install a bare-bones version of PHP 8.0.0 Beta 1 on Ubuntu 20.04 (Focal Fossa).

Before we get started this should NOT be installed on a production server. This build exists to demo the new core features and doesn’t include a lot of the common features (like PDO).

Read More

Link Post and Podcast Roundup: August 2020 Edition

Link Post Logo

August’s links.

Read More

Developing a Culture of Quality Code

This post is the companion piece to my presentation at Midwest PHP 2020. It contains helpful links and reading selections.

Read More

What the F*ck Is With All the Artisan Commands: Schedules

Scheduled tasks will be a core part of our application’s life cycle. We need to be able to send invoices every month and reminder users of upcoming items. Laravel provides a clean interface for quickly setting up scheduled tasks.

Read More

Help Support This Programming Thing

This Programming Thing is a labor of love, but we’re currently losing money every month. If you would like to help us offset some of our costs please use the links below.

How You Can Help

  1. Amazon US - Just click on the link and a make purchase like you would normally and a portion of your purchase will be credited to us.
  2. Digital Ocean $100 Credit for First 60 Days - Digital Ocean is our current favorite hosting provider for VPS.

Why Foreign Key Constraints Are Not Optional

Joe was hired into a company to maintain a PHP application with a MySQL database. They would have random reports of duplicate data and data with missing information. When Joe looked into the problem 9 times out of 10 it was due to an issue where a user deleted one row but the same delete operation didn’t delete rows related to the original row. This caused that orphaned data to show up in some reports and cause odd join results in others.

SQL provides an excellent way to make sure that our databases don’t have orphaned rows or invalid relationships. Using them is a must for all table relationships.

Read More

Link Post and Podcast Roundup: July 2020 Edition

Link Post Logo

July’s links.

Read More

Working with Floating-Point Numbers in PHP

A while back we found an odd bug that only occurred with some inputs while doing calculations that involved decimals. When we performed a series of multiplications and additions and then compared our calculation with an expected result (using ==) they didn’t show up as equal.

In this article, we’ll discuss why this is and what we can do to prevent it.

Read More

Running Unit Tests With Artisan's Test Runner

In the 7.x branch, Laravel added an artisan test command which acts as a wrapper for PHPUnit. It provides information about the tests as they’re running and stops on the first failure unlike PHPUnit’s default behavior of running all the tests and showing all the failures. It also provides a nice output when the tests fail.

The following article will provide a brief overview of how we can use it and quickly compare it to phpunit.

Read More

Link Post and Podcast Roundup: June 2020 Edition

Link Post Logo

June’s links.

Read More

Join Our Mailing List!

View previous campaigns.

subscribe via RSS

All content copyright This Programming Thing 2012 - 2020
Blogging about PHP, MySQL, Zend Framework, MySQL, Server Administration and Programming in general