Skip to content

Instantly share code, notes, and snippets.


Aaron Collegeman collegeman

View GitHub Profile
collegeman / HttpBinClient.php
Last active Jan 2, 2020
Using a trait to add an API client to any PHP class
View HttpBinClient.php
namespace Tests\Feature;
use App\Concerns\MakesRequests;
class HttpBinClient
use MakesRequests;
protected $config = [
collegeman / TicTacToe.php
Created Aug 12, 2019
Games are coming... XOXO. <3
View TicTacToe.php
namespace Games;
use Arcade;
use App\User;
use Games\Models\Game;
use Illuminate\Http\Request;
class TicTacToe extends Cabinet {

Database Schema

Keep this simple document up-to-date with any schema changes.


model: User
  • id: bigincrements
  • name: string
collegeman / rest-client.php
Last active Nov 22, 2017
Super basic magic method for creating REST API clients in PHP
View rest-client.php
use Requests;
* Instances of this class can be invoked with any of the HTTP request
* method names (get, post, put, delete, head, etc.), and doing so builds
* and invokes a request using the Requests library.
* @see
abstract RestClient {
collegeman / bootstrap-nudges.css
Last active Nov 1, 2017
All of the spacing and some of the text alignment classes from Bootstrap
View bootstrap-nudges.css
* Bootstrap v4.0.0-beta (
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (
.w-25 {
width: 25% !important;
collegeman /
Last active Aug 23, 2017
Running Laravel 5.4 on Cloud9

Beginning with a baseline PHP workspace (LAMP).

Install PHP 7.1

From Cloud9's support forums:

$ sudo add-apt-repository ppa:ondrej/php -y
$ sudo apt-get update -y
$ sudo apt-get install php7.1-curl php7.1-dev php7.1-gd php7.1-intl php7.1-mcrypt php7.1-json php7.1-mysql php7.1-opcache php7.1-bcmath php7.1-mbstring php7.1-soap php7.1-xml
View php71-memcached.rb
require "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-php/Abstract/abstract-php-extension.rb"
class Php71Memcached < AbstractPhp71Extension
desc "Memcached via libmemcached library"
homepage ""
head "", :branch => "php7"
option "with-sasl", "Build with sasl support"
collegeman / plugin.php
Created Dec 2, 2016
You can't use Laravel Facades in Illuminated WordPress Plugins
View plugin.php
namespace YourPlugin;
class YourPlugin extends \FatPanda\Illuminate\WordPress\Plugin
* You can't use the DB Facade, even though this would be syntactically
* valid in Laravel—the reason is that unlike in a Laravel App, in
* WordPress, there's potentially more than one Container per request—
* so the Facades can't know which Container they should ask to get
collegeman / routes.php
Last active Dec 2, 2016
What routing looks like in an Illuminated WordPress Plugin
View routes.php
// in your plugin's src/routes.php file
$router->rewrite('/some/arbitrary/url/{slug}', function($slug) {
// you can do anything here
update_option('option_name', $slug);
// if you return false, the request is over
//return false;
// if you return a string, WordPress will try to load a template by that name
return 'my-custom-template';
collegeman / plugin.php
Created Dec 2, 2016
A more powerful example of what you can do with an Illuminated WordPress Plugin
View plugin.php
namespace YourPlugin;
use YourPlugin\Notifications\PostSaved;
* Your plugin inherits everything that a Laravel container can do.
* Like, sending messages on Slack using Laravel's Notification framework.
class YourPlugin extends \FatPanda\Illuminate\WordPress\Plugin