首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
hash
heatmap
shell
netty
input
timezone
blob
function
runtime
actionscrip
range
header
split
web
version
javascript
audio
node.js
js
buffer
cPlusPlus
go
c语言
iostream
sum
metadata
less
object
future
hook
match
subset
hashcode
emoji
expression
ip
dll
testing
list
vbscript
spring
text
copy
httpclient
default
jar
express
rsa
scala
web3
erlang
chat
php7
process
require
httprequest
dagger
python3
foreach
python2
settings
case
integer
random
select
数组
main
schema
char
nodejs
md5
grid
include
typescript
jsp
eval
cookie
loops
window
当前位置:
开发笔记
>
编程语言
> 正文
ThinkPHP3.1新特性:Action参数绑定
作者:手机用户2502926053_634 | 来源:互联网 | 2013-06-07 11:10
Action参数绑定功能提供了URL变量和操作方法的参数绑定支持,这一功能可以使得你的操作方法定义和参数获取更加清晰,也便于跨模块调用操作方法了。这一新特性对以往的操作方法使用没有任何影响,你也可以用新的方式来改造以往的操作方法定义。
Action参数绑定功能提供了URL变量和操作方法的参数绑定支持,这一功能可以使得你的操作方法定义和参数获取更加清晰,也便于跨模块调用操作方法了。这一新特性对以往的操作方法使用没有任何影响,你也可以用新的方式来改造以往的操作方法定义。
Action参数绑定的原理是把URL中的参数(不包括分组、模块和操作地址)和控制器的操作方法中的参数进行绑定。例如,我们给Blog模块定义了两个操作方法read和archive方法,由于read操作需要指定一个id参数,archive方法需要指定年份(year)和月份(month)两个参数。
class
BlogAction
extends
Action
{
public
function
read
(
$id
){
echo
'id='
.
$id
;
$Blog = M
(
'Blog'
);
$Blog
->
find
(
$id
);
}
public
function
archive
(
$year
=
'2012'
,
$month
=
'01'
){
echo
'year='
.
$year
.
'&mOnth='
.
$month
;
$Blog = M
(
'Blog'
);
$year = $year
;
$month = $month
;
$begin_time = strtotime
(
$year
.
$month
.
"01"
);
$end_time = strtotime
(
"+1 month"
,
$begin_time
);
$map
[
'create_time'
] =
array
(
array
(
'gt'
,
$begin_time
),
array
(
'lt'
,
$end_time
));
$map
[
'status'
] =
1
;
$list = $Blog
->
where
(
$map
)->
select
();
}
}
URL的访问地址分别是:
http
:
//serverName/index.php/Blog/read/id/5
http
:
//serverName/index.php/Blog/archive/year/2012/month/03
两个URL地址中的id参数和year和month参数会自动和read操作方法以及archive操作方法的同名参数绑定。
输出的结果依次是:
id
=
5
year
=
2012
&
month
=
03
Action参数绑定的参数必须和URL中传入的参数名称一致,但是参数顺序不需要一致。也就是说
http
:
//serverName/index.php/Blog/archive/month/03/year/2012
和上面的访问结果是一致的,URL中的参数顺序和操作方法中的参数顺序都可以随意调整,关键是确保参数名称一致即可。
如果用户访问的URL地址是(至于为什么会这么访问暂且不提):
http
:
//serverName/index.php/Blog/read/
那么会抛出下面的异常提示:
参数错误:id
报错的原因很简单,因为在执行read操作方法的时候,id参数是必须传入参数的,但是方法无法从URL地址中获取正确的id参数信息。由于我们不能相信用户的任何输入,因此建议你给read方法的id参数添加默认值,例如:
public
function
read
(
$id
=
0
){
echo
'id='
.
$id
;
$Blog = M
(
'Blog'
);
$Blog
->
find
(
$id
);
}
这样,当我们访问
http
:
//serverName/index.php/Blog/read/
的时候 就会输出
id
=
0
当我们访问
http
:
//serverName/index.php/Blog/archive/
的时候,输出:
year
=
2012
&
month
=
01
hive
php
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
php
如何在Faceu激萌中设置和使用妆容切换特效?
本文将详细介绍如何在Faceu激萌应用中设置和使用妆容切换特效,帮助用户轻松实现创意拍摄。无论是新手还是有经验的用户,都能从中受益。 ...
[详细]
蜡笔小新 2024-12-28 13:03:29
js
QUIC协议:快速UDP互联网连接
QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ...
[详细]
蜡笔小新 2024-12-28 12:33:18
js
如何进行暂估入库的会计分录处理?
本文详细介绍了暂估入库的会计分录处理方法,包括账务处理的具体步骤和注意事项。 ...
[详细]
蜡笔小新 2024-12-28 12:26:30
input
PHP 编程疑难解析与知识点汇总
本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ...
[详细]
蜡笔小新 2024-12-28 12:22:34
sum
深入理解OAuth认证机制
本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ...
[详细]
蜡笔小新 2024-12-28 12:07:46
sum
极大似然估计(MLE)及其3D可视化解析
本文详细介绍了极大似然估计(Maximum Likelihood Estimation, MLE)的推导过程,并通过3D可视化展示其在概率密度函数中的应用。我们将探讨如何利用MLE来估计参数,以及它在实际问题中的重要性。 ...
[详细]
蜡笔小新 2024-12-28 12:03:58
js
2023 ARM嵌入式系统全国技术巡讲
2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ...
[详细]
蜡笔小新 2024-12-28 11:58:48
c语言
解决 IIS 中 PHP 页面无法访问的问题
本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ...
[详细]
蜡笔小新 2024-12-28 11:54:54
future
Python 异步编程:深入理解 asyncio 库(上)
本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ...
[详细]
蜡笔小新 2024-12-28 11:52:00
future
周期性出现的时间戳字段异常问题
探讨一个老旧 PHP MySQL 系统中,时间戳字段不定期出现异常值的问题及其可能原因。 ...
[详细]
蜡笔小新 2024-12-28 11:46:54
js
国内BI工具迎战国际巨头Tableau,稳步崛起
尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ...
[详细]
蜡笔小新 2024-12-28 11:12:44
go
优化ListView性能
本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ...
[详细]
蜡笔小新 2024-12-28 10:36:30
go
郑州大学在211高校中的地位与排名解析
本文将详细解读郑州大学作为一所位于河南省的211和双一流B类高校,在全国211高校中的地位与排名,帮助高三学生更好地了解这所知名学府的实力与发展前景。 ...
[详细]
蜡笔小新 2024-12-28 10:08:34
js
深入理解 Oracle 存储函数:计算员工年收入
本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ...
[详细]
蜡笔小新 2024-12-28 09:49:42
less
优化ASM字节码操作:简化类转换与移除冗余指令
本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ...
[详细]
蜡笔小新 2024-12-28 09:35:00
手机用户2502926053_634
这个家伙很懒,什么也没留下!
Tags | 热门标签
hash
heatmap
shell
netty
input
timezone
blob
function
runtime
actionscrip
range
header
split
web
version
javascript
audio
node.js
js
buffer
cPlusPlus
go
c语言
iostream
sum
metadata
less
object
future
hook
RankList | 热门文章
1
深入理解 CSS 盒模型、box-sizing 属性及定位元素的水平和垂直居中技巧
2
Spring Boot 自定义异常处理与错误页面设计(上篇)
3
协同过滤算法结合相似度评估与交替最小二乘优化技术
4
2020年6月最新至强处理器性能评测与排名,专业解读英特尔至强CPU性能梯队图
5
Linux驱动更新管理器:领先技术革新,甚至Windows 10也在参考其先进功能
6
我只是一个技术娴熟的编程专家
7
C#与ASP.NET中实用的类型解析扩展方法库
8
六个关键步骤掌握Python数据分析,探索六款小众但强大的数据处理库
9
探索区块链扩展性:侧链技术的深度解析与应用
10
如何解决Oracle数据库中的ORA-01578和ORA-26040错误
11
C++ Boost Asio:I/O服务、I/O对象与网络编程详解
12
ADB基础命令与实用指南
13
实现链表数据结构的方法与技巧
14
ThinkPHP入门指南:从零开始搭建ThinkPHP项目环境
15
魅族Flyme 7正式发布:全面解析与亮点介绍
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有