欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-14 22:50:05
...
我下载了最新版的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. 没有默认的路由,你仔细看下路由这章, 所有疑问就迎刃而解了

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

可以结合官方文档再看看这篇文章:http://laravelbase.com/collections/1/36

@trigged
亲一以下写错了:
第一步 php artisan controller:make UserController
正确修改:
第一步 php artisan make:controller UserController

相关标签: php laravel