簡體   English   中英

Laravel 5隱式路由無法挽救

[英]Laravel 5 Implicit Route Not Resoving

當我意識到我在解釋事物的現狀方面做得很差,並且無法反映已經實施的一些更改時,就完全編輯了這篇文章。

問題:我有一個具有普通前端的應用程序,當通過app \\ public訪問時,它可以完美運行。 我添加了一個后端,並希望使用其他主布局。 我將后端命名為Crud。 我創建了Crud \\ UserController,它具有以下內容:

public function __construct()
{  $this->middleware('auth'); }



public function getIndex() {
  return view('crud'); }

在我的routes.php文件中,我具有以下內容:

Route::controller('crud', 'Crud\UserController');

我嘗試過將該路由放置在中間件組的內部和外部。 兩者都不起作用。 我確實有一個crud.blade.php文件,它存在於resources \\ views內部。

問題是每次我嘗試訪問app / public / crud時都來自apache的404。 具體來說,此錯誤:

The requested URL /app/public/crud was not found on this server.

我對服務器為什么找不到到crud.blade.php的路由一無所知

預計到達時間:我嘗試訪問此頁面時,apache訪問日志僅顯示正常404。 apache錯誤日志未顯示任何錯誤。

view()假定指向一個視圖文件,該文件類似於example.blade.php,其中應包含您在訪問localhost:app / crud時想要顯示的內容。 然后,您可以在沒有.blade.php的情況下執行view('example')。 從您的代碼中更改

class UserController extends Controller{
    //Route::controller('crud', 'Crud\UserController');

    public function __construct()
    {
        $this->middleware('auth');
    }
    public function getIndex() {  
        return view('/');
    }
}

class UserController extends Controller{
    //Route::controller('crud', 'Crud\UserController');

    public function __construct()
    {
        $this->middleware('auth');
    }
    public function getIndex() {  
        return view('crud'); // crud being your view file
    }
}

我認為您正在混合概念。 試圖到達這里總是會拋出錯誤:

localhost://app/crud

要輸入您的應用,只需嘗試訪問:

http://localhost

追加您在routes.php文件中注冊的路由。 在您的示例中,它將是:

http://localhost/crud

如果您注冊

Route::get('/crud', 'Crud\UserController@index')

然后,您需要在UserController內部使用Index方法,該方法應該返回一個視圖(在您的示例中)

class UserController extends Controller{

    public function __construct()
    {
        $this->middleware('auth');
    }

    public function index() 
    {  
        return view('crud');
    }
}

PS:關於隱式控制器,您可以在此處找到文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM