Browse Source

Move broadcast channel registration to a routes file.

These are very similar to routes in that they are channel endpoints
that your application supports and they also fully support route model
binding in Laravel 5.4. Upgraded applications do not need to make this
change if they do not want to.
Taylor Otwell 2 years ago
parent
commit
52f0196fd3
3 changed files with 18 additions and 6 deletions
  1. 1 6
      app/Providers/BroadcastServiceProvider.php
  2. 1 0
      config/app.php
  3. 16 0
      routes/channels.php

+ 1 - 6
app/Providers/BroadcastServiceProvider.php

@@ -16,11 +16,6 @@ class BroadcastServiceProvider extends ServiceProvider
     {
         Broadcast::routes();
 
-        /*
-         * Authenticate the user's personal channel...
-         */
-        Broadcast::channel('App.User.{userId}', function ($user, $userId) {
-            return (int) $user->id === (int) $userId;
-        });
+        require base_path('routes/channels.php');
     }
 }

+ 1 - 0
config/app.php

@@ -196,6 +196,7 @@ return [
         'Artisan' => Illuminate\Support\Facades\Artisan::class,
         'Auth' => Illuminate\Support\Facades\Auth::class,
         'Blade' => Illuminate\Support\Facades\Blade::class,
+        'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
         'Bus' => Illuminate\Support\Facades\Bus::class,
         'Cache' => Illuminate\Support\Facades\Cache::class,
         'Config' => Illuminate\Support\Facades\Config::class,

+ 16 - 0
routes/channels.php

@@ -0,0 +1,16 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Broadcast Channels
+|--------------------------------------------------------------------------
+|
+| Here you may register all of the event broadcasting channels that your
+| application supports. The given channel authorization callbacks are
+| used to check if an authenticated user can listen to the channel.
+|
+*/
+
+Broadcast::channel('App.User.{id}', function ($user, $id) {
+    return (int) $user->id === (int) $id;
+});