Skip to content

Instantly share code, notes, and snippets.

View Ellrion's full-sized avatar

Maksim (Ellrion) Platonov Ellrion

View GitHub Profile
@Ellrion
Ellrion / helper.php
Last active February 29, 2020 12:38
<?php
if (! function_exists('dqd')) {
/**
* Dump info about query in builder and end the script.
*
* @param $query
* @param bool $short
*/
function dqd($query, $short = false)
@Ellrion
Ellrion / AppServiceProvider.php
Last active July 13, 2017 14:58
RedirectResponse makros for add or replace uri query parameter
<?php
//in boot method
RedirectResponse::macro('withParameters', function ($parameters) {
$url = parse_url($this->getTargetUrl());
parse_str($url['query'] ?? '', $query);
$url['query'] = http_build_query(array_merge($query, $parameters));
$this->setTargetUrl(build_url($url));
@Ellrion
Ellrion / helper.php
Last active December 1, 2021 17:40
reverse function for parse_url (http://php.net/manual/en/function.parse-url.php)
<?php
if ( ! function_exists('build_url'))
{
/**
* @param array $parts
* @return string
*/
function build_url(array $parts)
{
<?php
/**
* Naive Bayes classifier
*/
include __DIR__ . '/../vendor/autoload.php';
function train($samples)
{
@Ellrion
Ellrion / AbilitiesListCommand.php
Last active September 12, 2017 08:00
List of schedule tascks and list of abilities commands for Laravel (See comments)
<?php
namespace App\Console\Commands\Foundation;
use App\Console\Commands\Command;
use App\User;
use Illuminate\Contracts\Auth\Access\Gate;
class AbilitiesListCommand extends Command
{
Verb URI Action Route Name View Policy Middleware
GET /resources index resources.index resources.list list can:list,Resource::class
GET /resources/create create resources.create resources.create create can:create,Resource::class
POST /resources store resources.store create can:create,Resource::class
GET /resources/{resource} show resources.show resources.show view can:view,resource
GET /resources/{resource}/edit edit resources.edit resources.edit update can:update,resource

|

<?php
namespace App\Support;
use IteratorAggregate;
class ClassMap implements IteratorAggregate
{
protected $baseClass;
protected $classesList = [];
@Ellrion
Ellrion / BaseModel.php
Last active December 4, 2022 23:33
Additional helper scopes for Laravel Eloquent Models: `->orderByRelation('author', 'name')`; `->orderByRelationCount('posts')`; `->withJoinnedRelated('author', 'name')`;
<?php
namespace App;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Query\Builder as QueryBuilder;
use Illuminate\Database\Query\Expression;
abstract class BaseModel extends Model
@Ellrion
Ellrion / AccesseMutateble.php
Created October 25, 2016 13:16
traite for Accessers and Mutators (getters, setters) system for class)
<?php
trait AccesseMutateble
{
protected function getAccessorMethod($name)
{
return 'get' . ucfirst($name) . 'Attribute';
}
protected function getMutatorMethod($name)
@Ellrion
Ellrion / .tinker
Last active February 28, 2019 23:12
Laravel tinker helper include file
<?php
/*
|--------------------------------------------------------------------------
| Tinker configs and helpers
|--------------------------------------------------------------------------
|
| Possible run with this include `php artisan tinker .tinker`
| Or see http://psysh.org/#configure (~/.config/psysh/config.php)
| `'defaultIncludes' => [ getcwd() . '/.tinker', ]`