php重定义地址栏url,thinkphp框架实现路由重定义简化url访问地址的方法分析

本文实例讲述了thinkphp框架实现路由重定义简化url访问地址的方法。分享给大家供大家参考,具体如下:

如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由规则的重新定义简化url访问地址。

namespace app\index\controller;

class Index{

public function index(){

return '我是index';

}

public function hello($name='World'){

return 'Hello'.$name.'!';

}

}

?>

本来的访问路径应该是:

localhost/tp/index.php/index/index/hello

我们在路由定义文件(application/route.php)里面添加一些路由规则,如下:

return [

// 添加路由规则 路由到 index控制器的hello操作方法' hello/:name' => 'index/index/hello',

];

这是以hello开头的并且带参数的访问都会路由到index控制器的hello操作方法。

此时路径可以写为:

localhost/tp/hello/Thinkphp

此时输出结果为:

HelloThinkphp!

改变路由规则后若使用原来的路径访问方法后,则会出现错误。

但此时有一个问题是,如果访问地址为:

localhost/tp/hello

话,会抛出 模板不存在的错误,因为在访问时,没有传参,而在定义路由规则时,则带有参数。

解决办法是在修改路由规则为:

return [

// 添加路由规则 路由到 index控制器的hello操作方法' hello/[:name'] => 'index/index/hello',

];

使用[]把路由规则中的变量包起来,就表示该变量为可选,接下来就可以正常访问了。

当name参数没有传入值的时候,hello方法的name参数有默认值World,所以输出的内容为

Hello,World!

除了路由配置文件中定义之外,还可以采用动态定义路由规则的方式定义,例如在路由配置文件(application/route.php)的开头直接添加下面的方法:

use think\Route;

Route::rule('hello/:name', 'index/hello');

完成的效果和使用配置方式定义是一样的。

无论是配置方式还是通过Route类的方法定义路由,都统一放到路由配置文件application/route.php文件中

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 数组 json字段去不全,json_encode – PHP给出了不完整的json字符串

首先我的环境:PHP 5.3.2 – 使用Suoshin和xCache的lighttpd / 1.4.26我的代码太多了,不能在这里发布.我会说出来的.文件x.php正在加载一些PHP – Classe,初始化它们,执行一些函数 – >获取Result数组.如果我print_r这个数组我得到一个完整的结果.但是我使用json_…

java 判断季节,Java-用switch判断季节

import java.util.*;class Demo3{public static void main(String[] args){//需求 :输入一个月份 ,判断月份属于哪一个季节 :春天:3,4,5//夏天 :6,7,8 ,秋天:9,10,11 冬天:12&#x…

matlab jp2格式,JP2文件扩展名_JP2是什么格式_JP2文件怎么打开-文件百科

JPEG 2000标准是由联合图像专家组(JPEG)委员会在1990年代后期开发的,以代替1992年发布的JPEG标准。它对JPEG格式进行了一些改进,采用小波压缩算法,不会产生原先的基于离散余弦变换的JPEG标准产生的块状模糊瑕疵。JPEG 2000使用小波变换、画布…

PPT下载下来是php,用php下载jpg,doc,ppt文件已损坏

我试图用php下载一些文件来隐藏文件路径,但是一些文件类型总是被破坏。像PDF和MP3文件类型很好。像doc,PPT,JPG等文件类型总是下载破碎。我使用这些mimetypesif (file_exists($file_real)){$extension strtolower(substr(strrchr($file, &qu…

php安装文档,PHP - Manual: 安装 (官方文档)

安装安装此 PECL 扩展相关的信息可在手册中标题为PECL扩展的安装章节中找到。更多信息如新的发行版本、下载、源文件、维护人员信息及变更日志等,都在此处: https://pecl.php.net/package/cairo.PECL 扩展的DLL 当前不可用。参见在 Windows 上构建章节。…

php mail laravel,邮件 - Laravel - 为 WEB 艺术家创造的 PHP 框架。

邮件配置Laravel的邮件功能构建于流行的SwiftMailer库之上,并提供了简介、高效的API。邮件配置信息在app/config/mail.php文件中,并提供了包含SMTP主机、端口和证书的配置选项,也可以为发送的邮件配置一个全局from(来自)地址。你可以使用任何…

php抓取带帐号密码,PHP实现抓取迅雷VIP账号的方法_PHP

本文实例讲述了PHP实现抓取迅雷VIP账号的方法。分享给大家供大家参考。具体如下:看了Jinn_Wei Python版本的抓取账号,于是顺手写了个PHP版本PS1:代码没经过优化,只实现了基本的功能PS2:代码中使用了SnoopyPS3&#xff…

php输入安全验证漏洞,PHP 输入验证错误漏洞

来源:MLIST链接:https:/3 N x 6/lists.deC w c F K Y x bian.org/debian-lts-announce/2020/10/msg00008.html来源:MISC链接:http://cS | / O ?ve.circl.lu/cve/CH P / 3VE-2020-8184来源:MISC链接:https:/? 2 ( 4/bugs.php.net/buX / d 2 # } Lg.php?id79699来源:FEDORA链…

oracle 主键约束重名,主键及主键索引的关系及相互影响

主键的定义:列或多列的集合,用于唯一的标识表中的一行。一个表上只允许有一个主键。我们在数据库中指定主键时,是通过主键约束来定义的。而创建主键约束时,又是需要有相应的索引来配合实现的。所以,本文的目的是总结创…

oracle数据库密码复杂度查询,Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤...

1、连接上Linux数据库服务器,切换到Oracle数据库用户桌面,打开终端,进入到环境变量$ORACLE_HOME目录Last login: Fri Dec 11 13:26:18 2015 from 192.168.1.100[rootLinux主机名 ~]# su - oracle[oracleLinux主机名 dbhome_1]$ cd $ORACLE_HO…

oracle加大内存对大表,在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能...

在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。以system身份登陆数据库,查看 v$option视图,如果其中Partition为TRUE,则支持分区功能;否则不支持。Partition有基于范围、哈希、综和三种类型。…

php ci框架 模板引擎,详解CodeIgniter框架实现的整合Smarty引擎DEMO

CodeIgniter框架实现的整合Smarty引擎DEMO示例本文实例讲述了CodeIgniter框架实现的整合Smarty引擎。分享给大家供大家参考,具体如下:Smarty的模板机制很强大,一般情况下CI框架无需整合其他模板标签,因为PHP本身就是一种标签&…

padodb time.inc.php,怎样实现PHP中ADODB事务处理

这次给大家带来怎样实现PHP中ADODB事务处理,实现PHP中ADODB事务处理的注意事项有哪些,下面就是实战案例,一起来看一下。一、代码adodb.inc.php可从官方网站http://adodb.sourceforge.net/ 下载。或者点击此处本站下载。conn.php:&…

oracle清空无效数据,如何清除编译后留下的无效对象

在使用utlrp.sql编译后,查看发现还有一些invalid的object;请教这些invalid如何清除?多谢!SYSprimary>select object_name,object_type,owner from dba_objects where status not in (VALID);OBJECT_NAME OB…

linux隐藏特定进程,linux 隐藏进程

2、源码如下rootubuntu:/var/srt/libprocesshider# cat processhider.c#define _GNU_SOURCE#include #include #include #include #include /** Every process with this name will be excluded*/static const char* process_to_filter "srt";/** Get a directory n…

双用户windows linux系统,Windows与Linux合二为一?终于能在windows上运行Linux了!

原标题:Windows与Linux合二为一?终于能在windows上运行Linux了!目前在PC端操作系统市场份额中,微软旗下的windows系统占据超过50%的比例。作为微软旗下发布的产品之一,windows系统深受用户喜爱。从经典的XP和win7&…

linux的用户及权限管理,用户及权限管理

一、Linux用户、组的概念1.用户管理员:root,0其他用户:1-65535系统用户:1-499,守护进程获取资源进行权限分配普通用户:500,交互式登陆2.组管理员组:root,0其他用户:1-65535系统用户组:1-499普通用户组:500note:关于uid,gid的范围可以参考/etc/login.def3.Linux安全上下文进程所…

linux内存使用策略swap,Linux Swap使用分析

Linux操作系统性能分析主要包含磁盘IO、CPU、内存以及网络流量,而这里主要针对系统内存的使用进程情况做个分析。一、如何查看系统内存使用情况1、根据常用命令查看系统内存使用概况free -gtotal used free shared buffers cachedMem: …

linux从源码编译软件,linux软件源码的编译安装

软件包的组成:1二进制文件/bin,/sbin /usr/bin ,/usr/sbin /usr/local/bin /usr/local/sbin2库文件 /lib, /usr/lib /usr/local/lib3配置文件 /etc,/usr/local/etc4帮助文件 /usr/share/man usr/share/doc5头文件:/usr/include usr/local/includeA . bi…

linux对当前使用的分区分割,实例解说Linux中fdisk分区使用方法

一、fdisk 的介绍fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区…