Skip to content

Instantly share code, notes, and snippets.

View JustSteveKing's full-sized avatar
🐘
Conquering the world one line of code at a time

Steve McDougall JustSteveKing

🐘
Conquering the world one line of code at a time
View GitHub Profile
@JustSteveKing
JustSteveKing / ApiRenderer.php
Last active September 8, 2023 15:03
Handling Errors in Laravel
View ApiRenderer.php
<?php
declare(strict_types=1);
namespace App\Exceptions\Rendering;
use Illuminate\Contracts\Support\Responsable;
use Illuminate\Http\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Throwable;
@JustSteveKing
JustSteveKing / State.php
Created August 11, 2023 18:31
US States as a PHP Enum
View State.php
<?php
declare(strict_types=1);
namespace App\Enums;
enum State: string
{
case ALABAMA = 'AL';
case ALASKA = 'AK';
@JustSteveKing
JustSteveKing / phpstan.neon
Last active September 4, 2023 12:31
Default Laravel PHPStan Config
View phpstan.neon
includes:
- ./vendor/nunomaduro/larastan/extension.neon
parameters:
paths:
- app/
level: 9
checkGenericClassInNonGenericObjectType: false
@JustSteveKing
JustSteveKing / pint.json
Last active December 5, 2023 19:50
Laravel Pint configuration
View pint.json
{
"preset": "per",
"rules": {
"align_multiline_comment": true,
"array_indentation": true,
"array_syntax": true,
"blank_line_after_namespace": true,
"blank_line_after_opening_tag": true,
"combine_consecutive_issets": true,
"combine_consecutive_unsets": true,
@JustSteveKing
JustSteveKing / tailwind_light.yaml
Created September 5, 2022 19:18
TailwindCSS Light Warp Theme
View tailwind_light.yaml
accent: "#818cf8"
foreground: "#0f172a"
background: "#f8fafc"
details: "lighter"
terminal_colors:
normal:
red: "#f87171"
yellow: "#facc15"
black: "#0f172a"
cyan: "#22d3ee"
@JustSteveKing
JustSteveKing / Mock Test.md
Created February 1, 2022 09:22
A Mock Tech test
View Mock Test.md

Task

We need a new website built that will show a list of products and categories available from our online store. Our online store is currently available through a third party system API

Our products and categories go through weekly releases, so we need a task in place that will sync our records on a weekly basis.

There is no stock control system needed.

@JustSteveKing
JustSteveKing / Laravel Repository.php
Created August 7, 2021 06:57
An example on Laravel Eloquent Repository
View Laravel Repository.php
<?php
abstract class Repository
{
protected Builder $query;
public function all(): null|Collection
{
return $this->query->get();
}
@JustSteveKing
JustSteveKing / Notification.php
Last active March 26, 2023 19:32
Simple Livewire and Tailwind notifications
View Notification.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Notification extends Component
{
public $loaded = false;
@JustSteveKing
JustSteveKing / Colored.vue
Last active April 26, 2018 13:35
Component Structure for Buttons
View Colored.vue
<template>
<button class="btn" :classList="classList">
<template v-if="this.icons">
<slot></slot>
</template>
{{ this.text }}
</button>
</template>
<script>
@JustSteveKing
JustSteveKing / localStorage.async.js
Created March 2, 2017 15:18
Using JavaScript Promises to stop render blocking with localStorage
View localStorage.async.js
class Storage {
get(item) {
const request = new Promise((resolve, reject) => {
let data = localStorage.getItem(item);
console.log(`Start of promise`);
(data) ? resolve(data) : reject();
});
request.then((data) => {
console.log(`promise resolved`);