Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过routes/web.php从供应商获取路由_Php_Laravel_Routes_Laravel 5.6 - Fatal编程技术网

通过routes/web.php从供应商获取路由

通过routes/web.php从供应商获取路由,php,laravel,routes,laravel-5.6,Php,Laravel,Routes,Laravel 5.6,我在我的路由文件夹中的web.php中包含了此路由 Route::group(['prefix' => 'admin','namespace'=>'Admin', 'middleware' => 'admin', 'as' => 'admin.'], function () { Route::group(['prefix' => 'filemanager'], function () { \UniSharp\LaravelFilemanager\Lfm::rout

我在我的路由文件夹中的
web.php
中包含了此路由

Route::group(['prefix' => 'admin','namespace'=>'Admin', 'middleware' => 'admin', 'as' => 'admin.'], function () {

Route::group(['prefix' => 'filemanager'], function () {
\UniSharp\LaravelFilemanager\Lfm::routes();
 });

});
我的问题是,每当我运行
php-artisan-route:list
时,就会出现以下错误:

Class App\Http\Controllers\Admin\UniSharp\LaravelFilemanager\Controllers\LfmController does not exist
Lfm
控制器在我的供应商文件夹中,我一直在互联网上寻找解决方案,并应用了许多不同的方法进行路由更改,唯一可行的方法是使用包中默认提供的路由。但是如果我使用它,我会使用丢失我的管理员身份验证,我希望有人能给我一些关于我在这里做错了什么的见解


我真的很感激!提前谢谢。

我想出了这个解决方案。我使用的是Laravel 5.4

不要将代码放入
routes/web.php
,而是将其放入RouteServiceProvider,因此默认名称空间尚未设置

protected function mapWebRoutes()
{
    Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth']], function () {
        \UniSharp\LaravelFilemanager\Lfm::routes();
    });

    Route::group([
        'middleware' => 'web',
        'namespace' => $this->namespace,
    ], function ($router) {
        require base_path('routes/web.php');
    });
}

对于laravel 5.6及以上版本

转到config/lfm.php并将“use\u package\u routes”设置为false

在routes/web.php中,使用以下路由(这是一个示例,可能会根据前缀等进行更改):


将名称空间更改为vendor name,默认情况下它会显示在App中。例如)'namespace'=>'UniSharp'也不起作用,仍然有相同的问题将其作为单独的路由组,不要将其放入管理名称空间路由::组(['namespace'=>'UniSharp'],函数(){\LaravelFilemanager\Lfm::routes();});是的,我做到了,但我仍然犯了同样的错误。相反,我在admin组下手动编写路由,并使其正常工作,这是一个非常好的方法。这在Laravel5.4中运行良好,但我使用的是Laravel5.6,我尝试过类似的方法,但没有效果。我还在我的管理面板上使用它,它有一个单独的组和前缀。工作原理是在web.php中手动编写路由,并在config/lfm.php中将“use_package_routes”选项设置为false。我将发布我的路线作为答案。
    Route::group(['prefix' => 'admin','namespace'=>'Admin', 'middleware' => 'admin', 'as' => 'admin.'], function () {

        Route::get('/filemanager', '\UniSharp\LaravelFilemanager\Controllers\LfmController@show')->name('show');
        Route::any('/filemanager/upload', '\UniSharp\LaravelFilemanager\Controllers\UploadController@upload')->name('unisharp.lfm.upload');
        Route::get('/filemanager/errors', '\UniSharp\LaravelFilemanager\Controllers\LfmController@getErrors')->name('getErrors');
        Route::get('/filemanager/jsonitems', '\UniSharp\LaravelFilemanager\Controllers\ItemsController@getItems')->name('getItems');
        Route::get('/filemanager/move', '\UniSharp\LaravelFilemanager\Controllers\ItemsController@move')->name('move');
        Route::get('/filemanager/domove', '\UniSharp\LaravelFilemanager\Controllers\ItemsController@move')->name('domove');
        Route::get('/filemanager/newfolder', '\UniSharp\LaravelFilemanager\Controllers\FolderController@getAddfolder')->name('getAddfolder');
        Route::get('/filemanager/folders', '\UniSharp\LaravelFilemanager\Controllers\FolderController@getFolders')->name('getFolders');
        Route::get('/filemanager/crop', '\UniSharp\LaravelFilemanager\Controllers\CropController@getCrop')->name('getCrop');
        Route::get('/filemanager/cropimage', '\UniSharp\LaravelFilemanager\Controllers\CropController@getCropimage')->name('getCropimage');
        Route::get('/filemanager/cropnewimage', '\UniSharp\LaravelFilemanager\Controllers\CropController@getNewCropimage')->name('getCropimage');
        Route::get('/filemanager/rename', '\UniSharp\LaravelFilemanager\Controllers\RenameController@getRename')->name('getRename');
        Route::get('/filemanager/resize', '\UniSharp\LaravelFilemanager\Controllers\ResizeController@getResize')->name('getResize');
        Route::get('/filemanager/doresize', '\UniSharp\LaravelFilemanager\Controllers\ResizeController@performResize')->name('performResize');
        Route::get('/filemanager/download', '\UniSharp\LaravelFilemanager\Controllers\DownloadController@getDownload')->name('getDownload');
        Route::get('/filemanager/delete', '\UniSharp\LaravelFilemanager\Controllers\DeleteController@getDelete')->name('getDelete');
        Route::get('/filemanager/demo', '\UniSharp\LaravelFilemanager\Controllers\DemoController@index')->name('getDelete');


});