Laravel 5.4を使用しています。

ComposerServiceProviderの作成

最初にapp/Providers/ComposerServiceProvider.phpを作成します。

例えばViewに$hogeという変数で「hogehoge」と表示させたい場合は下記のようにします。

app/Providers/ComposerServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider
{
public function boot()
{
View::composer('*', function($view) {
$view->with('hoge', 'hogehoge');
});
}
}

View::composerの第一引数に表示するViewを指定します。

'*'すべてのView
'layouts/app'layouts/app.blade.phpを使用しているView
['posts/*','tags/*']posts、tagsディレクトリ内のView
配列にすることで複数の指定したViewで使用できます。

providersにComposerServiceProviderの登録

作成したComposerServiceProviderconfig/app.phpprovidersに登録します。

config/app.php
'providers' => [
// ・・・
App\Providers\ComposerServiceProvider::class,
],

これでViewで使用することができます。
指定したViewで$hoge変数が展開できるはずです。

ViewComposerをクラス化して外部ファイルにする

設定するViewComposerが多くなるとComposerServiceProviderクラスが肥大化してしまいます。
クラス化して外部ファイルにする方法をご紹介します。

ファイルを作成する場所は任意の場所で大丈夫ですが、ここではapp/Http/ViewComposersに作成します。

app/Http/ViewComposers/HogeComposer.php
<?php
namespace App\Http\ViewComposers;
use Illuminate\View\View;
class HogeComposer
{
/**
* @var String
*/
protected $hoge;
public function __construct()
{
$this->hoge = 'hogehoge';
}
/**
* Bind data to the view.
* @param View $view
* @return void
*/
public function compose(View $view)
{
$view->with('hoge', $this->hoge);
}
}

あとはComposerServiceProvider.phpを下記のように変更します。

app/Providers/ComposerServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider
{
public function boot()
{
View::composer('*', 'App\Http\ViewComposers\HogeComposer');
}
}

参考サイト
ビュー 5.4 Laravel - ビューコンポーザ