Skip to content

Instantly share code, notes, and snippets.

View vinicius73's full-sized avatar
🤓
"Those who cannot acknowledge themselves, will eventually fail."

Vinicius Reis vinicius73

🤓
"Those who cannot acknowledge themselves, will eventually fail."
View GitHub Profile
@vinicius73
vinicius73 / Presenter.php
Created May 5, 2016 19:01
abstract class Presenter
<?php
namespace App\Support\ViewPresenter;
use Carbon\Carbon;
use Illuminate\Support\Str;
abstract class Presenter
{
/**
@vinicius73
vinicius73 / AuthServiceProvider.php
Created March 11, 2016 20:12
Para vc não precisar fazer um loop nas suas permissões :p
<?php
namespace App\Core\Providers;
use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Support\ServiceProvider;
use App\Domains\Users\User;
class AuthServiceProvider extends ServiceProvider
{
{
"bootstrapped": true,
"in_process_packages":
[
],
"installed_packages":
[
"Emmet",
"Package Control",
"SublimeLinter",
<?php
namespace App\Domains\Clients
use Artesaos\Warehouse\BaseRepository;
class ClientsRepository extends BaseRepository
{
public function getInvoices(Client $client, $take = 15, $paginate = false)
{
@vinicius73
vinicius73 / RegularTenantRepository.php
Created March 5, 2016 06:26
Tenant RegularTenantRepository
<?php
namespace App\Domains\Tenants\Repositories\Traits;
use App\Domains\Tenants\Tenant;
trait RegularTenantRepository
{
/**
* @var Tenant
@vinicius73
vinicius73 / UsersRepository.php
Created March 5, 2016 06:23
Tenant UsersRepository
<?php
namespace App\Domains\Tenants\Repositories\Users;
use App\Domains\Users\Repositories\UsersRepository as OriginalUsersRepository;
use App\Domains\Tenants\Repositories\Traits\RegularTenantRepository;
class UsersRepository extends OriginalUsersRepository
{
use RegularTenantRepository;
@vinicius73
vinicius73 / UsersRepository.php
Created March 5, 2016 05:57
UsersRepository extends BaseRepository
<?php
namespace App\Domains\Users;
use App\Support\Repositories\BaseRepository;
use Carbon\Carbon;
class UsersRepository extends BaseRepository
{
protected $modelClass = User::class;
@vinicius73
vinicius73 / BaseRepository.php
Created March 5, 2016 05:44
Base Repository for Laravel Eloquent
<?php
namespace App\Support\Repositories;
use Illuminate\Database\Eloquent\Builder as EloquentQueryBuilder;
use Illuminate\Database\Eloquent\Collection as EloquentCollection;
use Illuminate\Database\Query\Builder as QueryBuilder;
use Illuminate\Pagination\AbstractPaginator as Paginator;
abstract class BaseRepository
<?php
// https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/helpers.php#L56
// https://github.com/laravel/framework/blob/5.1/src/Illuminate/Container/Container.php#L1128
// https://github.com/laravel/framework/blob/5.1/src/Illuminate/Container/Container.php#L614
$query = app(User::class)->newQuery();
$query = app()->make(User::class)->newQuery();
$query = app()->make('\App\Domains\Users\User')->newQuery();
$modelClass = User::class;
$query = app($modelClass)->newQuery();
@vinicius73
vinicius73 / EloquentQuery.php
Created March 5, 2016 05:03
Modos de uso do eloquent
<?php
// chain
// https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Model.php#L3447
// https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Model.php#L3429
$user = User::where('email', '[email protected]')->where('is_dead', false)->first();
$bastards = User::where('country', 'westeros')->whereNull('father')->get();
// https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Model.php#L574
$query = User::query();
$query->where('email', '[email protected]');