Skip to content

Instantly share code, notes, and snippets.

View renalpha's full-sized avatar

Jason Hoendervanger renalpha

View GitHub Profile
@renalpha
renalpha / Team.php
Last active April 9, 2019 09:02
Dedicated builder object
<?php
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class Team extends Model
{
public function newEloquentBuilder(Builder $builder)
{
return new TeamBuilder($builder);
@renalpha
renalpha / install-rabbitmq.sh
Last active May 8, 2019 17:23 — forked from yetanotherchris/install-rabbitmq.sh
RabbitMQ on Docker with admin UI
# AWS specific install of Docker
sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker ec2-user
# exit the SSH session, login again
# Docker
(docker rm -v some-rabbit)
@renalpha
renalpha / phpstorm-cs-fixer.md
Last active May 8, 2019 13:01 — forked from nienkedekker/phpstorm-cs-fixer.md
Set up PHP-CS-Fixer in PHPStorm

Use PHP-CS-Fixer in PHPStorm

  • Install PHP-CS-Fixer on your local machine according to these instructions: https://github.com/FriendsOfPHP/PHP-CS-Fixer
  • Open PHPStorm, Preferences > Tools > External Tools and enter these values: img
  • Program, edit to match your path where PHP-CS-Fixer lives: /.composer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer
  • Parameters: --rules=@PSR2 --verbose fix $FilePath$. Note that previous verions of PHP-CS-Fixer used --levels instead of --rules.
  • Working directory: $ProjectFileDir$

Click OK and Apply. Now we'll set up a shortcut.

  • Go to Preferences > Keymap and search for "PHP Fixer" (or whatever name you gave it). Add whatever shortcut you like, I'm using ctrl + cmd + ]:
@renalpha
renalpha / MenuComposite.php
Last active May 14, 2019 11:21
Composition pattern - Menu
<?php
namespace Exdeliver\Causeway\Domain\Entities\Menu;
use Exdeliver\Causeway\Domain\Common\Interfaces\RenderableInterface;
use Illuminate\Contracts\Support\Arrayable;
/**
* Class MenuComposite
* @package Exdeliver\Causeway\Domain\Entities\Menu
@renalpha
renalpha / LogoutResponsibility.php
Created May 15, 2019 07:20
Chain of responsibilities
<?php
namespace App;
class LogoutResponsibility
{
// Logout chain of responsibility design pattern.
}
@renalpha
renalpha / DecoratorPattern.php
Created May 15, 2019 07:41
Decorator pattern
<?php
namespace App;
class DecoratorPattern
{
// Decorator pattern explained.
}
@renalpha
renalpha / .htaccess
Last active May 28, 2019 13:25
Laravel post api | Allow trailing slash post routes
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
# Dont redirect on POST methods....
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^ %1 [L,R=301]
@renalpha
renalpha / expression.php
Last active May 28, 2019 15:09
Regex Multiple names validation
<?php
// Expression
$expression = '/^([_\p{Lu}\p{Lt}][_\p{Nd}\p{Ll}\p{Lm}\p{Lo} ',-."]+)+$/u';
$rules = [
'full_name' => 'required|regex:' . $expression,
'first_name' => 'required|regex:' . $expression,
'last_name' => 'required|regex:' . $expression
];
@renalpha
renalpha / buttons.js
Created June 12, 2019 15:26
Disable buttons
'onclick' => 'confirmAlert(this)'
function confirmAlert(btn) {
var result = confirm("are you sure?");
if (result === true) {
btn.form.submit();
btn.disabled = true;
btn.value = "Sending…";
}
return result;
@renalpha
renalpha / .htaccess
Created June 25, 2019 06:58
htaccess security headers for Apache
# Set browser headers
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Xss-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>