Skip to content

Instantly share code, notes, and snippets.


Eduardo Guzmán H. eduarguz

View GitHub Profile
laravel-shift / .php_cs.laravel.php
Last active May 8, 2021
PHP CS Fixer - Laravel Coding Style Ruleset
View .php_cs.laravel.php
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
$rules = [
'array_syntax' => ['syntax' => 'short'],
'binary_operator_spaces' => [
'default' => 'single_space',
'operators' => ['=>' => null]
calebporzio / HiddenInput.vue
Created May 2, 2018
Little Vue component for turning JSON into native HTML for inputs
View HiddenInput.vue
import _ from 'lodash'
export default {
props: [ 'name', 'value' ],
methods: {
flatInputsFromDeepJson(item, key, h) {
if (typeof item === 'object') {
return _.flatMapDeep(item, (value, newKey) => {
chronon / ext.txt
Created Feb 18, 2017
List of docker-php-ext-install extension names
View ext.txt
Possible values for ext-name:
iben12 /
Last active Feb 26, 2021
Laravel: State-machine on Eloquent Model

Implementing State Machine On Eloquent Model*

* Update (12.09.2017): I have improved the trait so that it can be used with objects other than Eloquent Models.

Some days ago I came across a task where I needed to implement managable state for an Eloquent model. This is a common task, actually there is a mathematical model called "Finite-state Machine". The concept is that the state machine (SM) "can be in exactly one of the finite number of states at any given time". Also changing from one state to another (called transition) depends on fulfilling the conditions defined by its configuration.

Practically this means you define each state that the SM can be in and the possible transitions. To define a transition you set the states on which the transition can be applied (initial conditions) and the only state in which the SM should be after the transition.

That's the theory, let's get to the work.