资讯专栏INFORMATION COLUMN

laravel-路由篇-01

nevermind / 2289人阅读

摘要:路由篇文章基本上参考文档所写,用来记录自己的学习过程,如果文章有错,以文档为准,当然希望大神看见给些意见,关于路由该怎么才能用的更溜,本菜鸟在此奉上膝盖。

laravel-路由篇-01

文章基本上参考文档所写,用来记录自己的学习过程,如果文章有错,以文档为准,当然希望大神看见给些意见,关于路由该怎么才能用的更溜,本菜鸟在此奉上膝盖。

laravel文档路由篇
1.首先最基础的路由
Route::get("/",function(){
    return "hello world";
});

代码解释:
get方式跳转到/(本地通常为localhost/) 然后调用function,输出‘hello world’

Route::post("/",function(){
    return "hello world";
});

post方式,其他和get相同
通常情况下我们不会简单的返回一个function(),通常情况还会有如下操作

2.路由绑定控制器

绑定控制器的作用:实现mvc模式的开发

 Route::get("user", ‘userController@index()’);

代码解释:
同理跳转user然后调用Controller文件夹下的userController类中的index方法

3.路由使用参数

使用参数的目的:
很多时候跳转的时候带参数会带来很多方便,如下

Route::get("user/{name}","userController@index()");

代码解释:
同理此处跳转user/{name},而{name}的值来自于get得到的参数,比如查看谋个用户时通过user/{name}来获取用户比user/xxxx这种方式来的更为方便

4.路由使用默认参数

当然我们有时候需要设置默认值,可以通过以下方式来设置

Route::get("user/{name?}", function($name = null){
    return $name;
});
5.路由使用正则表达式限定参数

限定参数的作用:具体待续

Route::get("user/{name}", function($name){
//
})->where("name", "[A-Za-z]+");

Route::get("user/{id}", function($id){
    //
})->where("id", "[0-9]+");

代码解释:
同理此处的{name}也是一个参数,二后面的where("","")则是限定条件

6.录用使用数组来限定多个参数
Route::get("user/{id}/{name}", function($id, $name){
    //
})->where(array("id" => "[0-9]+", "name" => "[a-z]+"))

此处也同上容易理解

此处看不懂可以忽略,因为本人页不是很确定这样说对不对
之所一可以直接调用Controller,是因为composer.json已经加载Controller,以后遇到类似直接调用的可以去查看composer.json

7.定义全局模式

如果希望在全局范围用指定正则表达式限定路由参数,可以使用 pattern 方法:

Route::pattern("id", "[0-9]+");
Route::get("user/{id}", function($id){
// Only called if {id} is numeric.
});
8.访问路由参数
Route::filter("foo", function(){
    if (Route::input("id") == 1){
        echo "hello";
    }
});

代码解释:此处‘foo’过滤器将会访问调用此过滤器的参数id
如果id==1则输出"hello";

定义过滤器
Route::filter("old", function(){
    if (Input::get("age") < 200){
    return Redirect::to("home");
}});

代码解释:过滤器名字为old,执行function(),如果得到的age<200那么重定位到home

为路由绑定使用过滤器

过滤器的作用:限制对应用程序中某些功能访问,比如对于需要验证才能访问的功能就非常有用

Route::get("admin/home",
        ["as"=>"admin.home","before"=>"adminFilter",function(){
    echo "hello world"
}])

代码解释:此处跳转adminhome,其中"as"=>"admin.home"是别名。然后在跳转之前会先运行名为adminFilter的过滤器,如果过滤器没有阻止该路由则运行function,否则就不会运行function(),过滤器定义在filters.php文件中,位于routes.php下面。

目前自己用的比较多的就这些,关于路由组,路由与模型绑定,抛出 404 错误,路由前缀,后续会对照文档继续我的laravel之路

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20875.html

相关文章

  • Laravel思维导图之Laravel HTTP路由、中间件、控制器

    摘要:又限于层的内容太多,我在这篇中将整理路由中间件控制器部分内容。前者定义页面路由,默认应用中间件组后者定义无状态路由,会应用中间件组。命名路由可以为指定路由或者控制器方法命名,也可以为已命名的路由生成。 showImg(https://segmentfault.com/img/remote/1460000010882838); 上图列出了 Laravel HTTP 层的相关知识大纲。由于...

    linkin 评论0 收藏0
  • Laravel思维导图之HTTP请求、响应、表单验证

    摘要:今天我来分享中层关于请求响应与表单验证的知识。手动创建验证请求之前的内容是直接使用的方法来实现表单验证。下一步到这篇为止,我完成了入门指南核心概念层的路由中间件控制器请求响应表单验证的学习和整理。 showImg(https://segmentfault.com/img/remote/1460000010882838); 今天我来分享 Laravel 中 HTTP 层关于请求、响应与表...

    lewif 评论0 收藏0
  • 从PHP Laravel 到 Go Iris--路由

    摘要:可以通过来直接设置路由前缀给添加前缀通过,还是通过就可以了匹配包含的匹配包含的好了,这两个框架的路由基本比较和应用就这些了,还有一些比如控制器路由和如何自定义中间件等在后续再写吧,或者请自行查阅文档,以上内容如有错误请指出。 Laravel是我最喜欢的PHP Web开发框架,所以也希望可以在Go的Web框架中选择一个类似Laravel这样的好用又全栈的框架,刷了一下Beego, Ech...

    lingdududu 评论0 收藏0
  • PHPer面试指南-Laravel

    摘要:简述的生命周期采用了单一入口模式,应用的所有请求入口都是文件。分发请求一旦应用完成引导和所有服务提供者都注册完成,将会移交给路由进行分发。此外,由于对动态方法的独特用法,也使测试起来非常容易。 本书的 GitHub 地址:https://github.com/todayqq/PH... Laravel 作为现在最流行的 PHP 框架,其中的知识较多,所以单独拿出来写一篇。 简述 La...

    alaege 评论0 收藏0
  • Laravel 和 Vue 的项目搭建:基础

    摘要:此项目前端使用框架,加上这些常用扩展后的其中还加入了加载器解析工具前端动画等,不需要的可以自行删除。没有的,需要设置淘宝镜像,下载的是国外的镜像,速度慢而且可能出现下载失败的问题。 本篇只是实现了 基础 的功能,对于实际的项目中的权限等还未涉及,这些会在后期逐步完善。相关项目 laravel-vue-iview 的 GitHub 地址 戳这里,此项目基本可用于实际开发工作。 Lara...

    jiekechoo 评论0 收藏0

发表评论

0条评论

nevermind

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<