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.