我有一个简单的包,我想使用控制器。当我尝试在我得到的路线中使用它时
Class App\Http\Controllers\Tropicalista\Admin\Controllers\DashboardController
does not exist
Run Code Online (Sandbox Code Playgroud)
我的 /routes/web.php 中有这个
Route::group([
'namespace' => '\Tropicalista\Admin\Controllers',
'prefix'=> 'admin'], function() {
Route::get('/', ['as' => 'admin.root', 'uses' => 'DashboardController@index']);
});
Run Code Online (Sandbox Code Playgroud)
我的控制器:
namespace Tropicalista\Admin\Controllers;
use Illuminate\Http\Request;
use Analytics;
use Carbon\Carbon;
use Spatie\Analytics\Period;
use Illuminate\Support\Collection;
use Illuminate\Routing\Controller;
class DashboardController extends Controller
{...}
Run Code Online (Sandbox Code Playgroud)
我认为是命名空间问题。那么如何调用包控制器呢?
默认情况下,将
RouteServiceProvider您的路由文件包含在一个namespace组中,允许您在不指定完整App\Http\Controllers命名空间前缀的情况下注册控制器路由。因此,您only需要指定comes after基本App\Http\Controllers命名空间的命名空间部分。
您需要删除命名空间
Route::group(['prefix'=> 'admin'], function() {
Route::get('/', ['as' => 'admin.root', 'uses' => '\Tropicalista\Admin\Controllers\DashboardController@index']);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1242 次 |
| 最近记录: |