路由的理解
我们所了解的很多框架通常都有自己有路由的定义规则,个人觉得Thinkphp是一个更容易让新手去接触和学习的一个框架。然而在TP中的默认路由规则是http://www.itbool.com/Model/Controller/Action,假如我们访问一个地址是http://www.itbool.com/Home/Index/index,默认请求会去访问Home模块下的Indexcontroller控制器类下的index方法,说到这里呢,这是在TP框架中路由的使用。
从上述中去理解,个人觉得在TP框架中定义的路由规范可以直接拿出来使用,非常的容易去理解,但是使用起来呢很不灵活,因为我们必须要遵循TP中的那种规范,比如说我想要通过向http://www.itbool.com/Admin/article/addPOST一个数据以添加一篇文章,处理这个过程的实际是Admin\TopicControlle类的create方法,且该方法只接受POST请求,这时候似乎大多数框架就要通过写更多的代码实现了。
上述呢,是在TP中路由的一种定义规范,但是相比于laravel呢?
laravel中路由的定义
1,简单的说就是将用户的请求转发给相应的程序去处理
2,作用建立url和程序之间的映射
3,请求类型get,put,post,patch,delete等
laravel的路由器与控制器的关系,需要明确的在/app/Http/routes.PHP
下面呢,我们一起来学西laravel中的路由
格式如下
多请求路由
比如我们在注册或者登陆页面的时候呢,我们需要用Get方式去获取页面,然后用POST方式去提交,但是它响应的是一条路由,只不过方式不同
遇到这样的情况,怎么办呢?难道去定义两条路由,这样是不是增加了代码量呢?
我们可以这样解决
格式如下
路由传参
以上呢就是在laravel中路由用法,用匿名函数去相应,但是怎么去传参呢,下面呢我们去分析:
路由限制
在tp框架中,假如我们想要去验证一些字段,那我们必须要去用tp的自动验证,但是在laravel中是不用的,我们直接可以在路由中做限制
控制器与路由
因为我们在做一些项目的时候呢,功能区域呢是依靠我们的控制器中的方法去相应,那么在laravel中路由与控制器怎么使用呢?那么我们下面一起看一下
我希望通过http://www.itbool.com/访问Home模块下IndexController类的index方法,应该这样定义一条路由:
例子很简单,但是会遇到这样的问题
这些呢就是laravel定义路由的简单使用,那么我们在回到上述中的TP的路由规范,两者对比,
在laravel中的定义,我们可以看出虽然laravel没有强加给你既定的路由规则,但你拥有了更多定制的权利,并且laravel定义路由的方式非常优雅,带给你的体验非常丰富。