当前位置:Gxlcms > PHP教程 > PHPLaravel的几个疑问,关于路由控制的

PHPLaravel的几个疑问,关于路由控制的

时间:2021-07-01 10:21:17 帮助过:5人阅读

我下载了最新版的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

人气教程排行