-
重定向
通过Sr::redirect($url, $msg = null, $time = 3, $view = null)
方法,进行重定向。
参数说明:
$url 必填:是跳转到的地址
$msg 选填:是跳转的时候的提示信息
$time 选填:是提示信息显示多久后跳转,单位秒
$view 选填:是视图的名称不含后缀,使用视图显示提示信息,视图里面可以直接使用$url,$msg,$time三个变量
示例如下:
1.直接跳转到百度
Sr::redirect("http://www.baidu.com/");
2.跳转到百度,并显示提示信息
Sr::redirect("http://www.baidu.com/",'正在跳转...');
3.跳转到百度,并使用视图(view/message.php)显示提示信息
Sr::redirect("http://www.baidu.com/",'正在跳转...',3,'message');
新建view/message.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>
-
输出提示信息
通过Sr::message($msg, $url = null, $time = 3, $view = null)
方法,输出操作后的提示信息。
参数说明:
$msg 必填:是提示信息
$url 选填:是跳转到的地址
$time 选填:是提示信息显示多久后跳转,单位秒
$view 选填:是视图的名称不含后缀,使用视图显示提示信息,视图里面可以直接使用$url,$msg,$time三个变量
示例如下:
1.提示添加成功
Sr::message("添加成功");
2.提示添加成功,并使用视图(view/message.php)显示提示信息,5秒后跳转到列表页
Sr::message("添加成功",'http://www.baidu.com/',5,'message');
新建view/message.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>
-
json输出
通过Sr::json()
方法,来输出json格式。
默认有三个参数:
$code:状态码
$message:信息
$data:数据
示例如下:
//输出json
echo Sr::json(200, 'success', array('添加成功'));
//上面将输出:{"code":200,"message":"success","data":["\u6dfb\u52a0\u6210\u529f"]}
当然,我们也可以自定义json输出格式内容。
我们可以从入口文件里面看到->setOutputJsonRender
方法,->setOutputJsonRender
方法就是来自定义json输出格式内容。
示例如下:
->setOutputJsonRender(function() {
$args = func_get_args();
$code = Sr::arrayGet($args, 0, '');
$message = Sr::arrayGet($args, 1, '');
$data = Sr::arrayGet($args, 2, '');
return @json_encode(array('code' => $code, 'message' => $message, 'data' => $data));
})
-
生成控制器方法的url
通过Sr::url()方法,生成控制器方法的url。
示例如下
echo Sr::url('Welcome/index.do');
//参数是:控制器方法
//上面将会输出:/index.php/Welcome/index.do
$data = array('a' => '1', 'd' => '2');
echo Sr::url('Welcome/index.do', $data);
//我们可以看到多了个第二参数,作用是get传递的参数数组,键值对,键是参数名,值是参数值。
//上面将会输出:/index.php/Welcome/index.do?a=1&d=2
//我们还可以去掉入口文件名称
Sr::config()->setIsRewrite(true);
echo Sr::url('Welcome/index.do');
//上面将会输出:/Welcome/index.do
//我们默认是不去除的,需要到入口文件去配置。
-
获取入口文件所在目录url路径
通过Sr::urlPath()方法,获取入口文件所在目录url路径,只能在web访问时使用,在命令行下面会抛出异常。
示例如下
echo Sr::urlPath('public');
//上面将会输出:/public/
echo Sr::urlPath('public/css/style.css', false);
//上面将会输出:/public/css/style.css
//我们可以看到多了个第二参数,作用是如果为true的话,最后多加/符号,默认是true。
-
设置cookie
通过Sr::setCookie()方法;我们可以方便的设置cookie。
使用示例:
Sr::setCookie('user_id',20);
//第一个参数 必填: cookie的名称
//第二个参数 必填: cookie的值
Sr::setCookie('user_id',20,30);
//第三个参数 可选: cookie的有效期时间
//30将设定 cookie 30秒后失效。如果未设定,cookie将会在会话结束后(一般是浏览器关闭)失效。
Sr::setCookie('user_id',20,30,'/');
//第四个参数 可选: Cookie在服务器端的有效路径
//如果该参数设为'/'的话,cookie就在整个cookie的域名内有效,如果设为'/foo/',cookie 就只在cookie的域名下的/foo/目录及其子目录内有效,例如/foo/bar/。默认值为设定cookie的当前目录。
Sr::setCookie('user_id',20,30,'/','example.com');
//第五个参数 可选: 规定cookie的域名
//要使cookie 能在如 example.com域名下的所有子域都有效的话,该参数应该设为'.example.com'。虽然.并不必须的,但加上它会兼容更多的浏览器。如果该参数设为www.example.com的话,就只在www子域内有效。
Sr::setCookie('user_id',20,30,'/','example.com',0);
//第六个参数 可选: 规定是否通过安全的HTTPS连接来传输cookie
提示:
如果我们要设置cookie的key前缀可以到入口文件里面的->setCookiePrefix('')
方法设置。
-
设置原生cookie
通过Sr::setCookieRaw()方法;我们可以方便的设置原生cookie。
使用示例:
Sr::setCookieRaw('user_id',20);
//第一个参数 必填: cookie的名称
//第二个参数 必填: cookie的值
Sr::setCookieRaw('user_id',20,30);
//第三个参数 可选: cookie的有效期时间
//30将设定 cookie 30秒后失效。如果未设定,cookie将会在会话结束后(一般是浏览器关闭)失效。
Sr::setCookieRaw('user_id',20,30,'/');
//第四个参数 可选: Cookie在服务器端的有效路径
//如果该参数设为'/'的话,cookie就在整个cookie的域名内有效,如果设为'/foo/',cookie 就只在cookie的域名下的/foo/目录及其子目录内有效,例如/foo/bar/。默认值为设定cookie的当前目录。
Sr::setCookieRaw('user_id',20,30,'/','example.com');
//第五个参数 可选: 规定cookie的域名
//要使cookie 能在如 example.com域名下的所有子域都有效的话,该参数应该设为'.example.com'。虽然.并不必须的,但加上它会兼容更多的浏览器。如果该参数设为www.example.com的话,就只在www子域内有效。
Sr::setCookieRaw('user_id',20,30,'/','example.com',0);
//第六个参数 可选: 规定是否通过安全的HTTPS连接来传输cookie
-
设置session
通过Sr::sessionSet($key, $value)方法;我们可以方便的设置session。
使用示例:
//1.设置单个session
Sr::sessionSet('username', '张三');
//第一个参数 必填: session的键值,也可以是一个键值对数组一次设置多个session,此时不需要第二个参数。
//第二个参数 选填: session的值
//2.设置多个session
$arr = array('username'=>'张三', 'user_id'=>'1');
Sr::sessionSet($arr);
//3.$key支持多级,比如$key是user.id,那么设置的就是$_SESSION['user']['id']=$value。
Sr::sessionSet('user.id', '张三');
-
销毁session
通过Sr::sessionUnset($key = null)方法;我们可以方便的销毁session。
使用示例:
$key支持多级
比如$key是user.id,那么销毁的就是$_SESSION['user']['id']。
Sr::sessionUnset('user.id');
如果$key是null,那么销毁的就是$_SESSION变量。
Sr::sessionUnset();
-
开启session
通过Sr::sessionStart()方法;我们可以方便的开启session。
使用示例:
Sr::sessionStart();