A Link assets based on which controller is currently requested. Any improvements to this code are welcome
Helper Code
<?php namespace helpers;
use Illuminate\Routing\Router;
use Illuminate\Support\Str;
class ViewHelper {
protected $route;
function __construct(Router $route) {
$this->route = $route;
}
function current_controller_name() {
//This returns a string like 'UsersController@edit'
$route = $this->route->getCurrentRoute()->getOptions()['_uses'];
// The sub-string of route the before the Controller
$controller = substr($route,0,strpos($route, 'Controller'));
$controller = strtolower($controller);
return Str::plural($controller);
}
}
Inside the View:
<?php $controller_name = (new ViewHelper($app['router']))->current_controller_name() ?>
<link rel='stylesheet' href="/assets/<?=$controller_name?>.js") />
<link rel='stylesheet' href="/assets/<?=$controller_name?>.css") />