1. 程式人生 > >學習 Laravel 那些坑(四) 路由

學習 Laravel 那些坑(四) 路由

位置

5.4的時候,路由還在

app/Http/routes.php

5.6的時候就挪到 app 目錄外的

routes/web.php

對於一個 MVC 框架,如何解析路由是非常重要的問題,這樣變來變去真得好嗎?

另外據悉,Laravel 路由是基於 Symfony的, Laravel 中比較慢的部分就應該就是路由了,基於 Laravel 的 Lumen 為了效能,放棄Symfony 路由元件轉而使用 FastRoute,好訊息是:

也就是說未來的 Symfony 4.1會提高路由效能,社群期望在將來的 Laravel 也會將 Symfony 元件更新到最新從而效能得到極大提升。此是提外話了,先憧憬著吧!

file_put_contents(path/to/storage/framework/views/xxxxxxx.php): failed to open stream: Permission denied

遇到這個錯誤的原因,一是許可權問題,即storage目錄許可權不夠;二是因為路由與action引數不對應;解決方案如下:

  • 問題1:
chmod -R 777 storage/

或:

chown -r www:www storage

-問題2:檢查路由設定與action引數,如:

Route::get('/knowlege/list/{var}','[email protected]
'
)
->
name('teacher');

對應的action:

class KnowlegeSystemController extends Controller
{
    //

    public function index( $var = 12)
    {
       var_dump($var);
    }
}