Skip to content

Instantly share code, notes, and snippets.

Good Bad
Builder Exception Events Adapter Helper
Writer Provider Policies Manager Manager
Reader Extractor Resolver Converter Util
Formatter Factory Seeder Composer Handler
Repository Job Mailer Response
Resource/Presenter Command Message
Service Controller Encrypter
Support View Kernal
Entity Calculator Dispatcher
<?php
return [
'providers' => [
// ....
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
<?php
namespace App\Http\View\Composers;
use Illuminate\View\View;
class NavigationComposer
{
/**
* @param View $view
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
class ViewComposerServiceProvider extends ServiceProvider
{
@tlkshadow
tlkshadow / Medium-ViewComposerTest.php
Last active December 2, 2018 12:17
Medium-ViewComposerTest.php
<?php
class ViewComposerTest extends TestCase
{
/**
* @return void
*/
public function testDetailHasNavigationItems()
{
$this->get('/detail')->assertViewHas('navigation');
<?php
View::composer('*', function ($view) {
$view->with('breadcrumb', ['item 1', 'item ']);
});
// or
View::composer('*', 'App\Http\ViewComposers\NavigationComposer');
@tlkshadow
tlkshadow / view-composer-parameters.php
Last active November 30, 2018 08:08
view-composer-parameters.php
<?php
// append the composer only to one profile: ~/resources/views/profile
View::composer('profile', ...);
// to serveral: ~/resources/views/profile, ~/resources/views/profile_edit and ~/resources/views/profile_settings
View::composer(['profile', 'profile_edit', 'profile_settings'], ...);
// wildcard folders: all files in ~/resources/views/pages/*
View::composer(['*pages.*'], ...);
<?php
View::composer('profile', function ($view) {
$view->with('user', ['...']);
});
// OR
View::composer('profile', 'App\Http\ViewComposers\ProfileComposer');
@tlkshadow
tlkshadow / SetDynamicDatabaseConnection.php
Created December 17, 2017 20:42
SetDynamicDatabaseConnection.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
/**
* @author Marcel Domke <marcel.domke@aboutyou.de>
{
"data": [{
"a": 100001,
"b": "Variable name",
"c": "Variable name 2",
"d": "2017–01–01",
"e": [
"value 1",
"value 2" 
],