thinkphp5 URL的访问
ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作,下面是一个标准的URL访问格式:
localhost/index.php/模块/控制器/操作
而且访问时不需要区分大小写,无论URL是否开启大小写转换,模块名都会强制小写。
1.应用的index模块的Index控制器定义如下:
<?php
namespace app\index\controller; //命名空间 class Index{ //控制器名称
public function index(){ //方法名称
return 'index'; //用return输出而不要用echo
} public function hello($name = 'World'){ //方法里可以放变量
return 'Hello,' . $name . '!'; //这里引用了$name变量,中间拼接用"."
}
}
现在访问的路径为
localhost/index/index/hello
访问URL地址后页面输出结果为:
Hello,World!
如果要访问控制器的hello方法,则需要使用完整的URL地址
localhost/index/index/hello/name/tp5
访问URL地址后页面输出结果为:
Hello,tp5!
现在给hello方法增加第二个参数:
public function hello($name = 'World', $city = ''){
return 'Hello,' . $name . '! You come from ' . $city . '.';
}
访问地址为
localhost/index.php/index/index/hello/name/thinkphp/city/shanghai
页面输出结果为:
Hello,thinkphp! You come from shanghai.
可以看到,hello方法会自动获取URL地址中的同名参数值作为方法的参数值,而且这个参数的传入顺序不受URL参数顺序的影响,例如下面的URL地址输出的结果和上面是一样的:
localhost/index.php/index/index/hello/city/shanghai/name/thinkphp
或者使用
localhost/index.php/index/index/hello?city=shanghai&name=thinkphp
2.如果你的控制器是驼峰的,例如定义一个HelloWorld控制器(application/index/controller/HelloWorld.php):
<?php
namespace app\index\controller; class HelloWorld{
public function index($name = 'World'){
return 'Hello,' . $name . '!';
}
}
正确的URL访问地址(该地址可以使用url方法生成)应该是:
localhost/index.php/index/hello_world/index
系统会自动定位到HelloWorld控制器类去操作。
thinkphp5 URL的访问的更多相关文章
- Thinkphp5——pathinfo的访问模式、路径访问模式
tp5访问入口文件的时候是,访问public目录下的index.php,那么她真正访问的url到底是什么?如何去访问其他页面,实际上她默认使用的PATH_INFO模式进行访问. PATHINFO模式 ...
- thinkphp支持大小写url地址访问,不产生下划线
from:http://www.111cn.net/phper/thinkPhp/57748.htm 一.在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问: ‘URL_C ...
- 解决Unable to connect to a repository at URL 禁止访问 (forbidden)
连接SVN报如下错误. Unable to connect to a repository at URL 禁止访问 (forbidden) 1. 右键点击本地副本,TortoiseSV ...
- HTTP协议详解以及URL具体访问过程
1.简介 1.1.HTTP协议是什么? 即超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准.从 ...
- Asp.Net配置不允许通过url方式访问目录下的资源
Asp.Net网站发布后,有部分文件为了安全性,是不能直接通过url访问获取 通常有2种做法: 1.将文件目录建立在 App_code 或者App_Data 等默认的隐藏目录下 2.将文件的目录添加到 ...
- 谷歌浏览器 URL无法访问
使用谷歌浏览器老是会崩溃,或者访问的时候发现“URL无法访问”等失败的问题,连淘宝都没法访问,这个让人很恼火, 最后在扩展应用那里搜到个URL的redirect,问题解决了,~~发现没有再出现类似问题 ...
- ASP.NET 通过配置hiddenSegment禁止目录下资源通过Url形式访问
根据默认的ASP.NET配置,App_Data下的资源是禁止通过Url形式直接访问的,在实际开发中,可能也会有这样的需求,比如某些是系统资源目录,该目录下的资源也需要像App_Data目录一样禁止访问 ...
- imperva-指定url禁止访问
指定url禁止访问 应用到那个网站 访问一下查看告警
- URL方式访问Hadoop的内容
* 1.设置url支持hadoop,FsUrlStreamHandlerFactory * 2.创建URL对象,指定访问的HDFS路径 * 3.openStream获取输入流对象, ...
随机推荐
- 【吉比特】G-bits2017技术类岗位编程题
求素数 输入M.N,1 < M < N < 1000000,求区间[M,N]内的所有素数的个数.素数定义:除了1以外,只能被1和自己整除的自然数称为素数 输入描述: 两个整数M,N ...
- e587. Filling Basic Shapes
There are two ways to fill basic shapes like lines and rectangles. The first is to use specific draw ...
- 启动其他APK的Activity方法 (转至http://www.cnblogs.com/lijunamneg/archive/2013/02/26/2934060.html)
有两个app,分别叫做App1和App2.App1包含两个Activity,分别叫做App1_A和App1_B.其中App1_A是入口Activity.也就是App1_A设置intent-filter ...
- NFX UNISTACK
NFX UNISTACK :http://www.nuget.org/packages/NFX/
- 前端页面——Cookie与Session有什么差别
我们在实际生活中总会遇到这种事情,我们一旦登录(首次输入username和password)某个站点之后,当我们再次訪问的时候(仅仅要不关闭浏览器),无需再次登录.而当我们在这个站点浏览一段时间后,它 ...
- Android开发学习笔记-GridView的动态显示
1.添加GridItem布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
- geoserver REST使用
1.部署一个简单的测试环境 测试geoserver REST接口,我们可使用python来测试,很方便.需要下载包: python,http://python.org/.我下载的是Python27版本 ...
- RequestDispatcher 的 forward和include
1.RequestDispatcher 的 forward和include: http://www.avajava.com/tutorials/lessons/what-is-a-request-di ...
- [转] Linux常用命令大全(非常全!!!)
出处:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得 ...
- phpcms v9 get的强大之处(列表页调用点击数)
{pc:get sql="select * from v9_art as g left join v9_art_data as p on p.id=g.id and g.catid=12 o ...