输出
1.setCookie
在控制器和模型中可以用
$this->setCookie($key, $value, $life = null, $path = '/', $domian = null, $http_only = false)
或者
set_cookie(),参数与 $this->setCookie()一致。
设置一个cookie。
参数说明:
$key       要设置的cookie的键
$value     要设置的cookie的值
$life      要设置cookie存活的时间,单位秒。比如保存10秒,就是:10
$path      要设置cookie的路径
$domain    要设置cookie的域名
$http_only 要设置的cookie是否不能通过脚本访问
提示:
cookie设置和获取,键支持前缀配置,对应系统配置是:$system['cookie_key_prefix'] = '';
1.$system['cookie_key_prefix']是在使用$this->setCookie()和$this->input->cookie()设置和获取cookie的时候key使用的前缀。
2.使用前缀的目的:避免同名的cookie在主域名和子域名之间发生冲突
3.如果不想使用前缀,可以使用方法:$this->setCookieRaw()或set_cookie_raw()和$this->input->cookieRaw()设置和获取cookie。$this->setCookieRaw()或set_cookie_raw()参数与$this->setCookie()一致。
2.ajax输出
在控制器和模型里面都可以直接通过
$this->ajax_echo($code, $tip = '', $data = '', $jsonp_callback=null,$is_exit = true)
进行ajax标准输出。
参数说明:
$code           状态码
$tip            提示信息
$data           数据,可以是数组或者字符串
$jsonp_callback jsonp回调js方法名称
$is_exit        控制是否执行完ajax_echo就退出脚本,默认:true。
示例:
1.$this->ajax(200,'message')
输出:
{"code":200,"tip":"message","data":""}
2.$this->ajax(200,'message',null,'showUser')
输出:
showUser({"code":200,"tip":"message","data":""});
提示:
前端js里面可以通过code判断状态码,tip获取提示信息,data里面是数据。
3.XML输出
在控制器和模型里面都可以直接通过
$this->xml_echo($xml, $is_exit = true)
进行ajax输出
参数说明:
$xml     标准xml字符串
$is_exit 在输出完后是否停止执行
4.重定向
在控制器可以直接通过
$this->redirect($url, $msg = null, $time = 3, $view = null)
进行重定向。
参数说明:
$url   是跳转到的地址
$msg   是跳转的时候的提示信息
$time  是提示信息显示多久后跳转,单位秒
$view  是视图的名称不含后缀,使用视图显示提示信息,视图里面可以直接使用$url,$msg,$time三个变量
示例:
1.直接跳转到百度:$this->redirect("http://www.baidu.com/");
2.跳转到百度,并显示提示信息:$this->redirect("http://www.baidu.com/",'正在跳转...');
3.跳转到百度,并使用视图(view/message.view.php)显示提示信息:
$this->redirect("http://www.baidu.com/",'正在跳转...',3,'message');
比如view/message.view.php内容如下:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        echo $msg.'<br/>'.$time."秒后跳转到".$url;
        ?>
    </body>
</html>
5.输出提示信息
在控制器里面都可以直接通过:
$this->message($msg, $url = null, $time = 3, $view = null)
输出操作后的提示信息
参数说明:
$msg    是提示信息
$url    是跳转到的地址
$time   是提示信息显示多久后跳转,单位秒
$view   是视图的名称不含后缀,使用视图显示提示信息,视图里面可以直接使用$url,$msg,$time三个变量
提示:
系统配置$system['message_page_view'] = '';可以指定$this->message()方法默认使用的视图。
(1).该视图会在第4个参数为null时使用。
(2).这样当使用视图的时候,就不用每次都传递第4个参数。
(3).这里需要填写的是视图名称,不带视图后缀。没有就留空。
使用示例:
1.提示添加成功
   $this->message("添加成功");
2.提示添加成功,并使用视图(view/message.view.php)显示提示信息,5秒后跳转到列表页
   $this->message("添加成功",'http://127.0.0.1/list.php',5,'message');
比如view/message.view.php:内容如下:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
   </head>
    <body>
        <?php
        echo $msg.'<br/>'.$time."秒后跳转到".$url;
        ?>
    </body>
</html>
6.输出控制
如果控制器里面有个public function __output($html)方法,
那么该控制器所有的输出在显示之前都会重定向到这个方法上,这个方法会被调用,
参数是将要显示到浏览器的页面内容。
在这个方法里面可以在输出之前进一步处理内容,该方法决定了内容是否显示到浏览器。