**一、Cookie的封装**
```
/**
* 读取或写入Cookie信息
* @param string $name 名称
* @param string $value 值
* @param int $expire 秒数
* @param string $path 路径,默认站点目录
*/
function cookie($name, $value = null, $expire = null, $path = null, $domain = null, $secure = null, $httponly = false) {
if (! is_null($value)) {
$path = SITE_DIR . '/';
if (is_string($value))
$value = trim($value);
$_COOKIE[$name] = $value; // 让cookie立即生效
if (! is_null($expire)) {
return setcookie($name, $value, time() + $expire, $path, $domain, $secure, $httponly);
} else {
return setcookie($name, $value, 0, $path, $domain, $secure, $httponly);
}
} else {
if (isset($_COOKIE[$name])) {
return escape_string($_COOKIE[$name]);
} else {
return null;
}
}
}
```
**二、S****ession的****封装**
```
/**
* 读取或写入session信息
* @param string $name 支持点分多级获取
* @param mixed $value 设置值
* @return string|NULL|unknown
*/
function session($name, $value = null) {
if (! isset($_SESSION)) {
session_start(); // 自动启动会话
}
if (! is_null($value)) {
if (isset($_SESSION[$name])) {
if ($_SESSION[$name] != $value) {
$_SESSION[$name] = $value;
}
} else {
$_SESSION[$name] = $value;
}
return $value;
} else {
if (strpos($name, '.')) {
if (isset($_SESSION[$name])) {
return $_SESSION[$name];
}
$names = explode('.', $name);
if (! isset($_SESSION[$names[0]])) {
return null;
}
$var = $_SESSION[$names[0]];
$len = count($names);
for ($i = 1; $i < $len; $i ++) {
if (is_array($var)) {
if (isset($var[$names[$i]])) {
$var = $var[$names[$i]];
} else {
return null;
}
} elseif (is_object($var)) {
if (isset($var->{$names[$i]})) {
$var = $var->{$names[$i]};
} else {
return null;
}
} else {
break;
}
}
return $var;
} else {
if (isset($_SESSION[$name])) {
return $_SESSION[$name];
} else {
return null;
}
}
}
}
// 检查会话参数是否存在
function issetSession($name) {
if (! isset($_SESSION)) {
session_start(); // 自动启动会话
}
return isset($_SESSION[$name]);
}
```
- 重要文档
- 工作须知
- 项目下的公共方法
- 程序员给代码写注释时有哪些讲究!
- RestFul 讲解
- 其他知识
- docker容器
- MongoDB的使用
- Node.js的使用
- Session共享
- Wordpress的使用
- Websocket的简介
- Ajax
- 项目技术
- Https配置证书
- Nginx的反向代理
- MySQL读写分离配置(laravel篇)
- Nginx的负载均衡
- App接口返回格式
- laravel中JWT的应用
- laravel验证码的使用
- laravel公共方法文件
- laravel框架的RBAC
- Git相关
- Git篇1
- Git篇2
- Mysql相关
- Mysql的主从复制
- MySQL的备份
- MySQL的使用
- 请求第三方接口
- Redis相关
- redis的使用
- Redis的基本用法以及场景分析
- 开发小技巧
- Linux
- 禁用root及密码登录
- Lnmp环境的安装
- 安装composer
- 安装Redis
- 文件共享服务 samba
- 其他安装
- Lnmp常用命令
- 性能检测命令
- Nginx的配置详解
- PHP相关
- PHP基础知识
- php常见的系统函数
- PHP的设计模式
- Cookie 和 Session 的封装
- Mysql知识
- Mysql索引
- MySQL的数据类型
- PHP重要知识
- PHP框架篇
- Laravel框架
- laravel---Excel
- laravel文件上传
- Laravel-Mysql常用操作
- Laravel队列(queue)
- laravel-发送Email
- laravel--JWT
- TP框架篇
- tp5主从数据库设置读写分离
- 前端
- JS
- js代码实现点击按钮出现60秒倒计时
- 开发软件相关
- 代码编辑器
- vs code配置ftp连接远程服务器实现代码文自动上传
- 编程相关软件下载