thinkphp是怎么加载路由

thinkphp是怎么加载路由

ThinkPHP URL 路由简介

简单的说,URL 路由就是允许你在一定规则下定制你需要的 URL 样子,以达到美化 URL ,提高用户体验,也有益于搜索引擎收录的目的。

例子

原本的 URL 为:

http://www.5idev.com/index.php/Products/Show/category/5/id/123

立即学习“PHP免费学习笔记(深入)”;

该 URL 的本意是显示第 5 分类中 id 为 123 的产品。经过 URL 路由改写后 URL 可以为:

http://www.5idev.com/index.php/product/5/123

如果使用 .htaccess 文件的 Rewrite 规则再把入口文件隐藏,则上面的 URL 可以进一步简化为:

http://www.5idev.com/product/5/123

这个 URL 地址就相对比较简单易容。

提示:使用 Apache 的 URL Rewrite 规则也能达到 URL 定制的功能,在此就不展开了,感兴趣的请参看 Apache Rewrite 相关的文章。

ThinkPHP URL 路由配置

在 ThinkPHP 中要使用 URL 路由功能,需要做如下配置:

在项目配置文件 Conf/config.php 里面开启路由功能(设置为 true):

‘URL_ROUTER_ON’=> true,

路由规则定义

与 2.x 版本不同,3.0 路由规则定义于项目配置文件 config.php 内,格式为数组格式,具体定义规则又分为规则路由和正则路由。规则路由语法如下:

格式1:’路由规则’=>'[分组/模块/操作]?额外参数1=值1&额外参数2=值2…’
格式2:’路由规则’=>array(‘[分组/模块/操作]’,’额外参数1=值1&额外参数2=值2…’)
格式3:’路由规则’=>’外部地址’
格式4:’路由规则’=>array(‘外部地址’,’重定向代码’)

语法说明

路由规则即是我们要在 URL 中显示出来规则,后面元素值部分是实际的 URL 地址及参数路由规则中如果以 : 开头,表示动态变量,否则为静态地址格式2的额外参数可以传入数组或者字符串路由规则支持变量的数字约束定义,例如:’product/:idd’=>’Products/Show’路由规则非数字变量支持排除,例如 ‘news/:cate^add|edit|delete’=>’News/category’路由规则支持完整匹配定义,例如:’product/:idd$’=>’Products/Show’路由规则中的静态地址部分不区分大小写外部地址中如果要引用动态变量, 采用 :1、:2 的方式规则路由可以支持 全动态和动静结合定义,例如 ‘:user/blog/:id’=>’Home/Blog/user’

这些规则及语法说明比较晦涩难懂,下面会有实例来对照以便理解上述路由规则及语法说明。

如果在配置文件里定义了路由开启功能,系统在执行 Dispatch 解析的时候,会判断当前 URL 是否存在定义的路由名称,如果有就会按照定义的路由规则来进行 URL 解析。

ThinkPHP URL 路由实例

以本文开始的例子为例,看该路由是如何定义的。在项目配置文件 Conf/config.php 里定义如下规则:

//路由定义
‘URL_ROUTE_RULES’=> array(
   ‘product/:categoryd/:idd’=>’Products/Show’, //规则路由
),

当我们访问如下这个地址的时候:

http://www.5idev.com/index.php/product/5/123

会将该地址解析到 Products 模块的 Show 操作,并传入 get 参数 category=5&id=123。

如果有额外的固定参数,如 status=1,可以定义路由:

‘product/:categoryd/:idd’=>’Products/Show?status=1’, //规则路由

也即匹配下面这个 URL 地址:

http://www.5idev.com/index.php/product/5/123/1

上面都是按格式1来定义的路由,在有额外参数的情况下,可以转换为第2种定义格式:

‘product/:categoryd/:idd’=>array(‘Products/Show’,’status=1′)

上面的路由规则中 d 表示只匹配数字,当不加此约束时,则可匹配所有字符,这也是默认情况。如果要严格约定传入的参数格式,请使用正则路由定义规则。

路由格式:外部地址

对于路由格式 3 和格式 4,则是检测到匹配的路由格式,则跳转到外部地址,区别是格式 4 有重定向代码,如 301 代表永久重定向。

更多ThinkPHP相关技术文章,请访问ThinkPHP使用教程栏目进行学习!

以上就是thinkphp是怎么加载路由的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/110882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月23日 11:11:43
下一篇 2025年11月23日 11:52:29

相关推荐

  • 比特币、以太坊和其他加密资产的区别

    选择安全可靠的加密货币交易平台需综合考量多个维度,本文推荐币安、欧易、Gate.io、火币和KuCoin五大交易所。1. 币安交易量最大,产品丰富,适合各类投资者;2. 欧易以合约交易和多元金融产品著称,移动端体验佳;3. Gate.io上币种类多,适合挖掘潜力项目。 选择一个安全可靠的加密货币交易…

    2025年12月8日
    000
  • 一文说清楚比特币、以太坊和Solana的区别

    比特币、以太坊和Solana在技术架构、核心目标和生态系统上存在显著差异。1. 比特币采用PoW机制,专注于价值存储,交易速度慢但安全性高;2. 以太坊通过智能合约支持dApps,使用PoS机制,生态成熟但Gas费较高;3. Solana结合PoH与PoS,追求高性能与低费用,适用于高频交易但去中心…

    2025年12月8日
    000
  • 稳定币是什么 和比特币有什么区别

    稳定币与比特币的根本区别在于价值稳定性与用途不同。1. 稳定币与法币挂钩,价值稳定,主要用于交易和保值;2. 比特币具有高波动性和稀缺性,适合作为投资品和价值储存手段;3. 稳定币由中心化机构发行,而比特币通过去中心化产生。 本文将清晰阐述稳定币与比特币之间的根本区别,帮助您理解这两种主流加密资产的…

    2025年12月8日
    000
  • 实用代币与安全代币是什么?有什么区别?

    目录 什么是实用代币?实用代币示例加密货币中的安全令牌是什么?安全令牌示例实用型代币与安全型代币:主要区别目的:获取途径与投资监管:宽松监管 vs. 严格合规法律框架:豪威测试的实际应用流动性:交易便利性与限制法规如何定义实用型代币与证券型代币如何识别代币的类型?探索加密世界中的代币 实用型代币、安…

    2025年12月8日
    000
  • 佩佩预售热潮:第五阶段及迷因币世界的狂野未来

    小佩佩(little pepe)第五阶段预售正在火热进行中,技术革新与社区热度正共同推动其发展。这枚迷因币是否会成为下一个爆点? 加密圈的玩家们注意了!小佩佩($LILPEPE)正在迅速升温。随着第五轮预售正式开启,我们一起来看看究竟是什么在推动它的热潮。 小佩佩:不只是普通的迷因币 让小佩佩脱颖而…

    2025年12月8日
    000
  • 比特币实际市值与市场总值:解读涨势背后的信念

    比特币价格突破 112,000 美元并不仅仅是炒作。通过观察“实现市值”(realized cap)和“市场市值”(market cap),我们能够洞察投资者的信心变化以及持有行为的趋势性转变。 比特币实现市值与市场市值:揭示上涨背后的真正动力 比特币价格一路攀升,成功站上 112,000 美元!这…

    2025年12月8日
    000
  • 什么是代币?与普通硬币有什么区别?一文理解2025年加密货币世界中的代币

    在区块链和web3时代,“代币”这个词无处不在。然而对于许多人来说,新加密货币用户,这仍然是一个模糊而令人困惑的概念。代币不仅仅是数字货币——它们是可编程资产,在去中心化生态系统中发挥着重要作用。本文解释了什么是代币,它与硬币的区别,以及为什么代币在2025年的加密货币经济中至关重要。 代币是什么?…

    2025年12月8日
    000
  • Chainbase($C币)是什么?怎么样?Chainbase全球最大全链数据网络的完整指南

    目录 什么是Chainbase($C代币)?Chainbase 为区块链数据和 AI 解决了哪些问题1. 区块链数据碎片化的挑战2. 缺乏人工智能数据标准3.集中数据控制和访问问题4.可扩展性和性能限制Chainbase Genesis:超数据网络背后的故事Chainbase 功能:四层架构和 AI…

    2025年12月8日 好文分享
    000
  • Solaxy(SOLX币)加密货币是什么?SOLX代币经济学、路线图及未来价格预测

    目录 什么是 Solaxy (SOLX) 加密货币?Solaxy 与 SOLX 代币:主要区别Solaxy发展历史和背景Solaxy Layer 2 的功能和优势1. 先进的 Rollup 技术2. 模块化基础设施设计3. 增强经济激励4.全面的安全审计SOLX 代币经济学和分布SOLX 代币的实用…

    2025年12月8日 好文分享
    000
  • 币圈合约交割是什么意思?季度合约和永续合约有什么区别?

    在数字货币交易市场中,合约交易是一种重要的衍生品交易方式。它允许交易者对特定数字资产的未来价格进行投机,而不必实际持有这些资产。合约交易机制的核心之一便是交割,对于不同类型的合约,交割的机制和影响也有所不同。理解这些概念对于参与合约交易至关重要。 合约交割的含义 1、合约交割是指合约到期时,交易双方…

    2025年12月8日
    000
  • 币圈社区治理代币是什么?投票权值钱吗?DAO治理解析

    在加密货币的世界里,社区治理已成为去中心化协议和平台的重要组成部分。治理代币是实现这一目标的核心工具之一。它们不仅仅是数字资产,更承载着参与者对特定生态系统未来方向表达意见的权利。持有这些代币通常意味着获得了在协议升级、参数调整或分配等重大决策中进行投票的机会。这种模式旨在将控制权从中心化实体手中转…

    2025年12月8日
    000
  • 货币市场基金代币化:合法性透视,纽约视角

    探索代币化货币市场基金的合法性、风险及其在不断演变的金融格局中的潜力。 代币化货币市场基金:合法性透视,纽约视角 围绕代币化货币市场基金的讨论热度持续上升,但它们真的具备足够的可靠性吗?这些被视为传统基金数字化形态的产品,声称能够提供流动性与稳定性,然而其对区块链技术的依赖也带来了一些疑问。我们来深…

    2025年12月8日
    000
  • 狗狗币2025年价格最高可到多少,概率多大?最大概率是达到多少?

    狗狗币(dogecoin),作为加密货币市场中的一个独特存在,自诞生以来便以其鲜明的社区文化和极高的波动性吸引了广泛关注。它最初是作为一种玩笑而创建,但凭借其庞大的社区支持和名人效应,多次展现出令人惊讶的市场表现。探讨其未来价格,特别是在2025年可能达到的高度,是一个复杂且充满不确定性的议题。加密…

    2025年12月8日
    000
  • USDT、USDC、DAI有什么区别?

    选择一个安全可靠的加密货币交易所是新手和资深投资者进入数字资产世界的第一步。本文将为您盘点当前市场上的主流交易所,并详细解析三种最主要的美元稳定币usdt、usdc和dai之间的区别,帮助您做出更明智的决策。 2025年稳定币交易所: 欧易okx官网直达: 币安官网直达: 火币htx官网直达:  U…

    2025年12月8日
    000
  • 什么是Stablechain(USDT的稳定链)?为什么USDT推出Stablechain?

    目录 什么是stablechain? Stablechain在Tether生态系统中的角色 USDT的Stablechain关键特性 Tether的Stablechain用例 为什么USDT推出自己的Stablechain? 常见问题 Stablechain与其他USDT网络有什么区别? Stabl…

    2025年12月8日
    000
  • U-Coin与比特币:可扩展性和用例的比较分析,谁值得长期持有?

    在数字资产领域,比特币是无可争议的王者,而u-coin等新兴项目则以其创新的技术和应用场景发起挑战。本文旨在深入对比分析比特币与u-coin在可扩展性和核心用例上的根本差异,为希望进行长期持有的参与者提供一个清晰的决策框架。 核心对比:两大数字资产的基本定位 在深入细节之前,理解两者最基本的定位至关…

    2025年12月8日
    000
  • 狗狗币DOGE属于哪条链?狗狗币是否属于币安链?

    近期,数字资产领域的讨论热度不减,狗狗币doge作为其中一个备受关注的焦点,其技术基础和平台归属成为不少人探索的疑问。它究竟“安家”何处?又与当前头部交易平台——币安有怎样的关联?要解答这些问题,我们需要从数字资产的底层技术逻辑和平台生态两个维度进行深入剖析,而非仅仅停留在表象。 一、狗狗币DOGE…

    2025年12月8日
    000
  • 币圈现货交易怎么玩?挂单和吃单有什么区别?新手交易指南

    币圈现货交易,就是投资者直接以市场价格买入或卖出加密货币,例如用泰达币(usdt)购买比特币(btc),或者将以太坊(eth)卖出换回usdt或其他资产。这种交易方式的特点是交易完成即刻拥有资产,风险相对直观,不受杠杆或合约到期等复杂因素影响。现货交易是进入加密货币市场的基本方式之一。 新手入门现货…

    2025年12月8日
    000
  • 普通人也能理解的去中心化是什么意思?

    “去中心化”这个词常出现在区块链、Web3等技术讨论中,但它的含义对很多普通人来说依然模糊。本文将通过简单易懂的方式,解释去中心化的基本概念,帮助读者了解其背后的逻辑与价值。 2025主流加密货币交易所官网注册地址推荐: 欧易OKX: Binance币安: Gateio芝麻开门: 火币htx:[ 中…

    2025年12月8日
    000
  • 去中心化是什么意思?它与“中心化”有何区别?

    去中心化是近年来在科技与互联网领域中频繁出现的一个概念,尤其在区块链、Web3等技术发展背景下备受关注。本文将围绕“去中心化是什么意思”这一问题进行科普,结合“中心化”进行通俗易懂的对比,帮助读者理解这两种架构在数据存储、安全性以及控制权分布上的关键差异。 2025主流加密货币交易所官网注册地址推荐…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信