首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
c语言
config
web3
object
foreach
lua
stream
client
frameworks
plugins
text
format
string
python3
timestamp
typescript
process
vba
install
chat
cSharp
cpython
schema
hashtable
dagger
hashcode
byte
jar
replace
web
solr
post
const
数组
default
char
express
ip
join
range
python
email
python2
java
require
actionscrip
nodejs
tags
version
javascript
iostream
testing
less
hook
vbscript
copy
random
hashset
integer
spring
buffer
import
php7
substring
command
js
utf-8
httprequest
bytecode
netty
cPlusPlus
bitmap
subset
window
eval
triggers
audio
filter
scala
当前位置:
开发笔记
>
编程语言
> 正文
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
GetWindowLong函数
今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ...
[详细]
蜡笔小新 2023-12-14 17:58:15
php
如何实现织梦DedeCms全站伪静态
本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ...
[详细]
蜡笔小新 2023-12-14 19:45:47
php
Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ...
[详细]
蜡笔小新 2023-12-14 18:57:09
php
《中秋夜作》翻译及原文赏析,诗人当代钱钟书
本文介绍了《中秋夜作》的翻译及原文赏析,以及诗人当代钱钟书的背景和特点。通过对诗歌的解读,揭示了其中蕴含的情感和意境。 ...
[详细]
蜡笔小新 2023-12-14 18:37:02
php
SQL日志收缩及截断方法详解
本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ...
[详细]
蜡笔小新 2023-12-14 18:23:25
string
lua语言闭包、模式匹配、日期、编译、模块的特性及应用
本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ...
[详细]
蜡笔小新 2023-12-14 18:18:21
web
Python高级之网络编程及TCP/IP协议簇的OSI七层模型介绍
本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ...
[详细]
蜡笔小新 2023-12-14 18:16:27
web
Python3中选择文件对话框的格式打开和保存图片
本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ...
[详细]
蜡笔小新 2023-12-14 17:46:55
byte
EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ...
[详细]
蜡笔小新 2023-12-14 17:43:56
byte
第一次参加比赛的经历和感受
本文描述了作者第一次参加比赛的经历和感受。作者是小学六年级时参加比赛的唯一选手,感到有些紧张。在比赛期间,作者与学长学姐一起用餐,在比赛题目中遇到了一些困难,但最终成功解决。作者还尝试了一款游戏,在回程的路上感到晕车。最终,作者以110分的成绩取得了省一会的资格,并坚定了继续学习的决心。 ...
[详细]
蜡笔小新 2023-12-14 17:42:14
timestamp
Android 新闻App的本地服务器搭建教程
本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ...
[详细]
蜡笔小新 2023-12-14 17:15:19
timestamp
基于layUI的图片上传前预览功能的2种实现方式
本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ...
[详细]
蜡笔小新 2023-12-14 17:06:58
web
搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ...
[详细]
蜡笔小新 2023-12-14 17:03:58
web
PHP图片截取方法及应用实例
本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ...
[详细]
蜡笔小新 2023-12-14 16:44:09
web
关羽败走麦城时路过马超封地 马超为何没有出手救人
对当年关羽败走麦城,恰好路过马超的封地,为啥马超不救他?很感兴趣的小伙伴们,趣历史小编带来详细的文章供大家参考。说到英雄好汉,便要提到一本名著了,没错,那就是《三国演义》。书中虽 ...
[详细]
蜡笔小新 2023-12-14 16:29:09
手机用户2502926053_634
这个家伙很懒,什么也没留下!
Tags | 热门标签
c语言
config
web3
object
foreach
lua
stream
client
frameworks
plugins
text
format
string
python3
timestamp
typescript
process
vba
install
chat
cSharp
cpython
schema
hashtable
dagger
hashcode
byte
jar
replace
web
RankList | 热门文章
1
x86汇编_MUL/IMUL乘法指令_笔记52
2
L丙氨酸甲酯硫氰酸盐离子液体(LAlaC1SCN)/乙酸盐离子液体(LAlaC1Ac)
3
office 2010 xp系统可以装吗
4
自由能 亥姆霍兹自由能(Helmholtz free energy)和吉布斯自由能(Gibbs free energy)等概念;IC50/Ki/Kd与结合自由能ΔG关系
5
桌面显示的加速球怎么设置桌面显示的加速球怎么设置<br?
6
Dns服务的简单配置
7
三星S8拍照无法对焦怎么回事?三星S8拍照无法自动对焦怎么办?
8
怎么压缩视频大小
9
如何在很大数量级的数据中(比如1个亿)筛选出前10万个最小值?
10
@@@@关于.net无刷新上传大文件到服务器?急@@@@@@
11
如何在135编辑器的推文中添加背景?
12
Tomcat8 访问http网址端口重定向到https端口报错的问题
13
[置顶] Matrix矩阵计算
14
win7如何换个激活码?
15
上海宏基电脑维修点上海维修上海客云齐(转载):宏基设置显卡
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有