Joomla 的JInput类对请求操作进行了封装,它的功能就是让你得到HTTP请求中的参数。不管是通过HTTP GET或者POST参数,我们都可以使用JInput类来活动参数。
在使用JInput获得参数的时候你可以指定一个过滤器,这个过滤器会自动对参数值进行清理,最终获得你希望的参数类型。
例如你的URL参数中有一个参数p1,并且你能确定p1这个参数只能是INT类型,那么你在获得P1参数的时候就可以指定 "INT"过滤器,这样就能够确定你最终得到的参数类型一定为INT.假如URL中的参数为?p1=82abc5
,那么你得到的值就是82
. 如果你期望的参数类型和实际的参数类型不一致,这种情况下,系统也不会报错,你得到的值是一个经过过滤器转换后的值。
JInput类型的用法
要使用JInput类你首先得获得一个Jinput对象。代码如下:
$input = JFactory::getApplication()->input;
然后使用get方法来获得指定参数的值。一般用法如下:
$val = $input->get(param_name, default_value, filter);
get方法接收3个参数:
- param_name 字符串类型,为你需要获得的参数的名称
- default_value 参数的默认值,如果参数没有找到,默认返回给你的值。这个值得类型不固定,可以是字符串,也可以是数组
- filter 需要使用个过滤器,系统默认定了很多种过滤器,用来过滤参数。如果你不填写,那么默认的过滤器为CMD
典型的用法如下:
$input = JFactory::getApplication()->input;
$name = $input->get('name', 'zmax99', 'string');
上面的代码会检查是否存在name参数,如果存在,那么获得值,并且将这个值使用STRING过滤器进行过滤。如果不存在,那么就是用默认值 zmax99.
作者:张敏
原文:http://www.joomlachina.cn/shouce/doc/1916?article_id=1892