Joe Ferguson

Joe Ferguson headshot

Joe Ferguson is a PHP developer and community organizer. He is involved with many different technology related initiatives in Memphis including the Memphis PHP User group. He’s been married to his extremely supportive and amazing wife for a really long time and she turned him into a crazy cat man. They live in the Memphis suburbs with their two cats.

twitter: @JoePFerguson

Articles

The Workshop: Producing Packages, Part Three

By Joe Ferguson

Over the past two months we’ve been building PHP Easy Math a purposely simple example library to demonstrate how to build a reusable package for the PHP ecosystem. Make sure to check the previous issues if you’re just now joining us! This article is the third and final installment in this series. We’re going to cover triaging and managing issues users may open as well as pull requests to your library.

The Workshop: Producing Packages, Part Two

By Joe Ferguson

Last month we started building PHP Easy Math, a small library which can be included in PHP projects to provide simple methods to do basic addition and subtraction. We’re using this as an example library to focus on what makes a library “good” we are less worried about the practical need for and usage of our package. In this part, we look at why you should provide a license and good documentation for your package.

Artisinal: Producing Packages, Part One

By Joe Ferguson

PHP developers can now easily share their code for others to use. You can also easily bundle your application’s domain logic into a package to share between multiple projects. This month we are diving into creating PHP packages and ensuring our packages are held to a high standard of having tests, license information, and other best practices for creating and maintaining high-quality PHP packages.

The Workshop: Describe Your Tests with Kahlan

By Joe Ferguson

This month we’re covering a full-featured unit and Behavior-Driven Development (BDD) test framework named Kahlan. Kahlan is similar to RSpec (Ruby) and JSpec (Java) using BDD style syntax where you describe the behavior your application should have.

The Workshop: Make PhpStorm Work for You

By Joe Ferguson

This month we’re going to dive into PhpStorm and cover configuration from personal preferences to obeying standards and day to day usage. We’ll see how to use the features of an IDE to improve your productivity and the quality of your code.

The Workshop: CakePHP, Part Two

By Joe Ferguson

Last month we covered the basics of CakePHP and how to get started creating routes, controllers, database tables, and retrieving data. This month we’re going to dive into returning HTML views, as well as creating and validating forms to create new widgets.

The Workshop: CakePHP, Part One

By Joe Ferguson

Welcome to the first installment of The Workshop, a column where we try out new tools and techniques to hone our craft. We’ll be covering frameworks, packages, tools, and exploring topics related to the PHP development ecosystem. This month we’re going to jump into CakePHP. CakePHP has recently released version 3.6 of their full stack framework.

Artisanal: Odds and Ends

By Joe Ferguson

This month I’m running with a collection of odds and ends of Laravel which I feel strongly about or that answer some common questions about Laravel and the related ecosystem. I find these issues to be common among people who ask me about Laravel on social media or in person at conferences or user group meetups.

Artisinal: Authentication with Laravel

By Joe Ferguson

Authentication is the foundation of your application’s security. Authentication separates guests from users and restricts functionality in your application to authenticated users. We can also take authentication a step further and completely offload the grunt work to some other service such a GitHub, Google, or any other third party authentication service provider.

The Workshop: The Road to 7.3, Part Two

By Joe Ferguson

Last month we explored the world of static analyzers Phan and PHPStan to find compatibility issues and several other common issues in our PHP Easy Math code base. This month, we’re going to review our code base and implement new and recent features from PHP 7.x

Illuminating Lumen

By Joe Ferguson

Lumen is a microframework from the creator of Laravel advertised as “Decidedly Laravel. Delightfully Minimal.” If you are looking at taking your first dive into building an API or microservice, Lumen is a welcome starting point for those already familiar with Laravel.

Artisanal: Full-Text Searching with Scout

By Joe Ferguson

Laravel Scout is a package that makes adding full-text searching of your Eloquent models simple. Scout is driver based, which means you will need to use a driver for the data source you’ll be searching. Scout ships with the Algolia driver out of the box. While Algolia is a fine solution offering a free tier and reasonable rates, what if you aren’t ready for such a level of commitment? We’re going to cover installing and configuring Laravel Scout and utilizing a community supported MySQL driver so you can test drive Scout in your application before making the leap to Algolia (or another driver).

Artisanal: Using Data Collections

By Joe Ferguson

Every application you work on will have some way to deal with a data set and take the form of arrays. If you have a more modern application, you may have a class which represents a data set with specific attributes and helper methods. Laravel is no different and takes the entire idea of a data set to the next level by using Collections.