PHP Laravel的幾個疑問,關於路由控制的

來源:互聯網
上載者:User
我下載了最新版的Laravel,然後我打算用他來做一個網址導航程式。
我想先做從管理員後台做起,這樣可以先添加測試內容,我看了一遍文檔,不過感覺很多地方都沒有說到的。

1)控制器裡面的方法public function showWelcome(){},是不是加上了show首碼就可以訪問,如果不加show首碼就不能訪問?

2)如果我有一個控制器,檔案地址:/app/controllers/InfoControllers.php裡面的一個方法 public function showList(){},他的訪問地址預設的是多少啊。
開啟重寫和不開啟重寫的時候預設的是多少啊。。 是/Info/showList還是/Info/List/

3)關於路由必須綁定。我問了一個人,他告訴我說,每一個網址都必須寫一個路由規則。
我比較疑問的是那這樣Laravel就沒有預設的網址嗎。這個預設的網址是如何產生的。。
如果每一個網址都要寫一個路由,一個網站裡面肯定很多不同的網站,比如分頁之類的,管理員後台操作刪除之類的,那豈不非常繁瑣,每一個網址都要寫一條路由。Laravel沒有預設的網址格式嗎

回複內容:

我下載了最新版的Laravel,然後我打算用他來做一個網址導航程式。
我想先做從管理員後台做起,這樣可以先添加測試內容,我看了一遍文檔,不過感覺很多地方都沒有說到的。

1)控制器裡面的方法public function showWelcome(){},是不是加上了show首碼就可以訪問,如果不加show首碼就不能訪問?

2)如果我有一個控制器,檔案地址:/app/controllers/InfoControllers.php裡面的一個方法 public function showList(){},他的訪問地址預設的是多少啊。
開啟重寫和不開啟重寫的時候預設的是多少啊。。 是/Info/showList還是/Info/List/

3)關於路由必須綁定。我問了一個人,他告訴我說,每一個網址都必須寫一個路由規則。
我比較疑問的是那這樣Laravel就沒有預設的網址嗎。這個預設的網址是如何產生的。。
如果每一個網址都要寫一個路由,一個網站裡面肯定很多不同的網站,比如分頁之類的,管理員後台操作刪除之類的,那豈不非常繁瑣,每一個網址都要寫一條路由。Laravel沒有預設的網址格式嗎

Laravel 中的路由可見簡單分為2中

常規路由

常規路由或者說是基礎路由,支援HTTP Method 或者正則匹配等,還有就是自訂

Route::get('xxx',xxx); Route::get('xxx/*',xxx); Route::post('xxx',function(){ xxxx }); Route::get('/', 'DashBoardController@index');
對應各種HTTP Method目前支援的有

  • get
  • post
  • put
  • patch
  • options
  • delete

匹配路由

  • match
  • any

自訂

Route::get('user', 'UserController@index');
這裡是你訪問xxx/user 的時候會調用 UserController中的index 方法

restful 路由

restful 路由又分為2種,第一種沒用過不評論,第二種用的很舒服

  • controller

  • resource

    這個使用很方便,直接自動產生 controller,


    第一步 php artisan controller:make UserController第二步 routes.php 中 Route::resource('users', 'UserController');然後放心調用就好了,這裡是調用關係http://laravel.com/docs/controllers#resource-controllers

回到問題

  1. 調用和方法名沒有關係,但是遵循規範是最好的
  2. 這個取決於你的router中的定義,
    例如你這樣定義,那麼你訪問的就是 http://domain/test Route::get('test', 'InfoControllers@showList');
  3. 分頁這些其實都是一個路由,然後加參數控制

  1. 不是,只是表達意思是顯示歡迎
  2. 你需要在路由中規定。比如Route::get('showlist', '控制器類名稱@方法');, 則 xxx.com/shwolist 指向到這個類中方法
  3. 沒有預設的路由,你仔細看下路由這章, 所有疑問就迎刃而解了

可以結合官方文檔再看看這篇文章:http://laravelbase.com/collections/1/36

@trigged
親一以下寫錯了:
第一步 php artisan controller:make UserController
正確修改:
第一步 php artisan make:controller UserController

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.