[PHP] - Laravel - Route路由
前言
这里使用的是Laravel 5
PHP Laravel的路由比较强悍,但也正因如此,不统一而容易凌乱。比如在路由中可以直接写方法操作(破坏封装啊)
以下是个人学习的例子,不供参考
路由中的直接方法调用和路由地址的使用规则例子
/**
* 定义一个/hi地址,返回hi的view
*/
Route::get('/hi', function()
{
return View::make("hi");
}); /**
* 定义一个/hello地址,带参数,默认参考值为Robin
* 地址访问如:/hello/myname
*/
Route::get("/hello/{name?}", function($name = "Robin"){
return "Hello " . $name;
}); /**
* 定义一个地址:/test/2222
* 使用正则匹配参数id
*/
Route::get("/test1/{id}", function($id) {
return "ID value = " . $id;
})->where("id", "\d+"); /**
* 定义一个地址:/test2/123/robin
* 使用正则匹配多个参数
*/
Route::get("/test2/{id}/{name}", function($id, $name){
return "ID = " . $id . ", Name = " . $name;
})->where(["id"=>"\d+", "name"=>"[a-zA-Z]+"]); /**
* 定义一个/as/my地址,给此路由加一个别名为mm
*/
Route::get("/as/my", ["as" => "mm", function(){
// 输入当前路由的名称,如果路由没有给指定别名,返回空值
return Route::currentRouteName();
}]); //------------------------------------------------------------------
// 测试POST提交
//------------------------------------------------------------------
Route::get("/test", function(){
return View::make("test");
}); Route::post("/test3", function(){
// 取得POST的test文本框输入值
//return $_POST["test"];
// 取得所有POST的内容
//return Input::all();
// 取得指定文本框的输入值
return Input::get("test");
}); //------------------------------------------------------------------
// 测试预定义PID为整型
//------------------------------------------------------------------
$router->pattern("pid", "\d+");
Route::get("/test4/{pid}", function($pid) {
return "Pattern ID = " . $pid;
});
当然了,它还有一些什么before、after之些的东西,这里就不写了。
路由使用Controller例子
/**
* 使用Conntroller
*/
Route::get("/test5", ["as" => "test5", "uses" => "TestController@index"]); /**
* 使用Controller重定向
*/
Route:get("/test6", ["as" => "test6", "uses" => "TestController@test6"]); /**
* Route的重定向
*/
Route::get("test7",function(){
return Redirect::to("test5");
}); /**
* 使用Controller取得当前Route的名称,名称为:mytest8
*/
Route::get("test8", ["as" => "mytest8", "uses" => "TestController@test8"]); /**
* 使用Controller
* Controller的方法前需要使用get开头
*/
Route::controller("/my/test", "my\MyTestController"); //------------------------------------------------------------------
// Controller Group
// 加入前缀my2,意思是在里头的所有路由地址都以my2开头
// 例如:http://localhost/my/add
//------------------------------------------------------------------
Route::group(["prefix" => "my2"], function() {
Route::controller("/", "my\MyTest2Controller");
});
[PHP] - Laravel - Route路由的更多相关文章
- laravel route路由
基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 代码如下: Route::g ...
- laravel route路由,视图和response和filter
Laravel充分利用PHP 5.3的特性,使路由变得简单并富于表达性.这使得从构建API到完整的web应用都变得尽可能容易.路由的实现代码在 application/routes.php 文件. 和 ...
- laravel的路由分组,中间件,命名空间,子域名,路由前缀
laravel的路由分组,就是把一些具有相同特征的路由进行分组,比如一些路由需要进行验证,一些路由有共同的前缀,一些路由有相同的控制器命名空间等. 这样把路由组合在一起,方便管理,维护性更好. Rou ...
- laravel之路由
laravel之路由设置 代码如下: 访问就是: 代码附上: <?php /*|--------------------------------------------------------- ...
- Laravel中路由怎么写(二)
1.路由命名——给路由起个名字 1.1 基本使用 我们使用as关键字来为路由命名: Route::get('/hello/Laravel',['as'=>'academy',function() ...
- MVC3/4/5/6 布局页及Razor语法及Route路由配置
一.目录结构 二.Razor语法 代码块:@{},如:@{Html.Raw(“”);} @if(){} @switch(){} @for(){} @foreach(){} @while(){} @do ...
- laravel 配置路由 api和web定义的路由的区别详解
1.路由经过中间件方面不同 打开kerenl.php就可以看到区别 protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware ...
- Laravel之路由 Route::get/post/any、路由参数、过滤器、命名、子域名、前缀、与模型绑定、抛出 404 错误、控制器
基本路由 应用中的大多数路都会定义在 app/routes.php 文件中.最简单的Laravel路由由URI和闭包回调函数组成. 基本 GET 路由 代码如下: Route::get('/', fu ...
- laravel Route::resource() 资源路由
格式: Route::resource('/order', 'OrderController', ['as' => 'admin']); 框架自动创建路由及其对应控制器中的方法: 请求方式 路由 ...
随机推荐
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
- sql语句查询结果添加排序列(转)
给查询出的SQL记录添加序号列,解决方法有以下两种 第一: select ROW_NUMBER() OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table ...
- 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...
- 创建【哆啦A梦】风格字体
学习canvas,为作画.对于一个毫无逻辑思维的人简直遭罪啊~想象坐标坐标坐标啊- - 好啦言归正传,基于本月16号,在春熙路IFS展出120只哆啦a梦,以及canvas的作用,在此介绍一种PS的美化 ...
- Android SDK Manager中不显示未下载的api解决方案
Android SDK 在线更新镜像服务器资源用户评价: / 14 Android SDK 在线更新镜像服务器资源:大连东软信息学院镜像服务器地址:http://mirrors.neusoft.ed ...
- NSUserDefaults
一.了解NSUserDefaults以及它可以直接存储的类型二.使用 NSUserDefaults 存储自定义对象1.将自定义类型转换为NSData类型2.将自定义类型数据存入 NSUserDefau ...
- js高级编程中命名空间的两种用法
第一种:// 声明一个全局对象Namespace,用来注册命名空间Namespace = new Object();// 全局对象仅仅存在register函数,参数为名称空间全路径,如"Gr ...
- 项目用到的icarouls类和UIEffectDesignerView类,菜单技巧,构思(金方圆)
// // MenuHomeViewController.m // HFYS // // Created by Showsoft_002 on 13-8-14. // Copyright (c ...
- ajax请求cookie有效性问题验证
与人讨论时遇到一个问题,就是: 浏览器中后台发起的一个异步ajax请求,服务器做响应时,附带了cookie信息,那么后续对同域名下其他页面请求时,该cookie是否有效,会一并随请求提交到web服务器 ...
- This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.
-- :::] This application is modifying the autolayout engine from a background thread, which can lead ...