ShopCMS 开发文档
HFramework 开发文档

3.4 控制器基类提供的方法

框架的控制器基类提供了常用的交互和控制的方法,如安全接收浏览器参数、输出网页、输出标准JSON 等。
这些方法可以在您的控制器类中调用,也可以在视图文件中直接调用,在视图文件中,$this是指当前的控制器的实例。
框架控制器基类中的方法列表如下,此处只列出可调用的(protected/public)方法名和方法的介绍,方法的实现请看框架类文件。

/**
 * HFramework 控制器基类
 * 重要!! 此类中所有public的方法都可能被客户端访问
 * 若有些方法不希望被用户访问,请声明为protected 或者 private的
 */
class HController {
	/**
	 * 构造函数
	 */
	function __construct()
	
	/**
	 * 渲染视图模板
	 * @param $filename string  渲染的文件名,如 index.php
	 * 寻址方式遵循文件系统寻址方式,应用举例如下:
	 * 假设当前控制器文件的位置为   /application/controller/IndexCtrl.php ,则:
	 * render('abc')  渲染/application/view/index/abc.php
	 * render('/abc')  渲染 /application/view/abc.php
	 * render('./abc')  渲染 /application/view/index/abc.php
	 * render('../abc')  渲染 /application/view/abc.php
	 * render('./dir3/abc')  渲染 /application/view/index/abc.php
	 * @param array $data   关联数组,渲染的数据
	 * @param boolen $output  是否输出  如果为true,则输出渲染结果,否则只返回结果而不输出,默认 true
	 * @return 当前渲染的结果 
	 * 注:渲染后,程序不会终止,仍然会继续执行后面的代码
	 */
	protected function render($filename, $data = null, $output = true)
	
	/**
	 * 创建url
	 * @param $route string 请求路由  首字符为/表示绝对路由  否则表示当前模块的相对路由,举例如下:
	 * 假设当前controller目录所在的目录 为application(根目录),则:
	 * article/add 创建 /?r=article/add
	 * /article/add 创建 /?r=article/add
	 * article/add/admin 创建  /?r=article/add/admin
	 * /article/add/admin 创建  /?r=article/add/admin
	 * 
	 * 假设当前controller目录所在的目录 admin模块,则格式有:
	 * article/add 创建 /?r=admin/article/add
	 * /article/add 创建 /?r=article/add
	 * article/add/abc 创建  /?r=admin/article/add/abc
	 * /article/add/abc创建  /?r=article/add/abc
	 * @param $data array 一位数组  附加请求的数据 
	 * @param $output boolen 是否输出
	 */
	protected function createUrl($route, $data=null, $output=true)
	
	/**
	 * 判断是否为POST请求
	 * @return bolen true=是POST请求
	 */
	protected function isPost()
	
	/**
	 * 跳转网页, 调用此方法后的代码将不被执行
	 * @param $url string URL地址
	 * @param $data array  get传参,一维关联数组
	 * @return void
	 */
	protected function redirect($url, $data=null)
	
	/**
	 * 获取从客户端传来的值  如果指定的字段不存在,则会以空字符代替(不会是Null)
	 * 此方法会自动去除字段两端的空格
	 * @param $inputs string 英文逗号分隔的键名,如果为空表示全部值
	 * @param $method string 传值方式, 可选值为POST,GET  为空表示不限(相当于 REQUEST),POST数据优先
	 * @return 一维数组
	 */
	protected function getParams($inputs='', $method='')
	
	/**
	 * 获取从客户端传来的值
	 * 此方法会自动去除字段两端的空格
	 * @param $input string 传值键名
	 * @param $method string 传值方式, 可选值为POST,GET  为空表示不限,POST数据优先
	 * @return mixed $key 所指代的值  如果没有值,则返回空字符串
	 */
	protected function getParam($input, $method='')
	
	/**
	 * 获取从客户端传来的富文本值
	 * 此方法只能获取POST来的数据,并且会自动去除字段两端的空格
	 * @param $input string 传值文本框名
	 * @return mixed 富文本字符串, 如果没有值,则返回空字符串
	 */
	protected function getRichParam($input)
}

阅读:2892 | 发布时间:2018-12-29 11:02