title: How to override Backpack's UserCrudController?
body: <p>I am trying to override/extend Backpack's default UserCrudController in Laravel 8 so that I can replace the list and edit operations with my own. To do this I tried:</p>
  <p><code>php artisan backpack:crud User</code></p>
  <p>However, code from the new file in <code>app/Http/Controllers/Admin/UserCrudController.php</code> is not being run, apart from for the 'show' route - presumably because <code>use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;</code> does not exist in <code>/vendor/backpack/permissionmanager/src/app/Http/Controllers/UserCrudController.php</code> whereas it does in my new controller.</p>
  <p><code>php artisan route:list | grep -i user</code> tells me the following:</p>
  <pre><code>|        | GET|HEAD | api/user                |                                    | Closure                                                                                 | api                                                                             |
  |        | POST     | user                    | user.store                         | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@store                | web                                                                             |
  |        | GET|HEAD | user                    | user.index                         | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@index                | web                                                                             |
  |        | GET|HEAD | user/create             | user.create                        | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@create               | web                                                                             |
  |        | POST     | user/search             | user.search                        | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@search               | web                                                                             |
  |        | PUT      | user/{id}               | user.update                        | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@update               | web                                                                             |
  |        | DELETE   | user/{id}               | user.destroy                       | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@destroy              | web                                                                             |
  |        | GET|HEAD | user/{id}/details       | user.showDetailsRow                | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@showDetailsRow       | web                                                                             |
  |        | GET|HEAD | user/{id}/edit          | user.edit                          | Backpack\PermissionManager\app\Http\Controllers\UserCrudController@edit                 | web                                                                             |
  |        | GET|HEAD | user/{id}/show          | user.show                          | App\Http\Controllers\Admin\UserCrudController@show                                      | web                                                                             |
  </code></pre>
  <p>How can I make it so that my new controller takes precedence? My <code>routes/backpack/custom.php</code> currently reads as follows:</p>
  <pre><code>Route::group([
      'prefix'     =&gt; config('backpack.base.route_prefix', 'admin'),
      'middleware' =&gt; array_merge(
          (array) config('backpack.base.web_middleware', 'web'),
          (array) config('backpack.base.middleware_key', 'admin')
      ),
      'namespace'  =&gt; 'App\Http\Controllers\Admin',
  ], function () {
      // custom admin routes
      Route::crud('user', 'UserCrudController');
  }); // this should be the absolute last line of this file
  </code></pre>