改进cookie和session类的prefix参数判断 支持传入空字符串

This commit is contained in:
thinkphp
2016-02-18 10:53:22 +08:00
parent cff8870f9e
commit 848824c86a
2 changed files with 24 additions and 24 deletions

View File

@@ -97,12 +97,12 @@ class Cookie
/** /**
* Cookie获取 * Cookie获取
* @param string $name cookie名称 * @param string $name cookie名称
* @param string $prefix cookie前缀 * @param string|null $prefix cookie前缀
* @return mixed * @return mixed
*/ */
public static function get($name, $prefix = '') public static function get($name, $prefix = null)
{ {
$prefix = $prefix ? $prefix : self::$config['prefix']; $prefix = !is_null($prefix) ? $prefix : self::$config['prefix'];
$name = $prefix . $name; $name = $prefix . $name;
if (isset($_COOKIE[$name])) { if (isset($_COOKIE[$name])) {
$value = $_COOKIE[$name]; $value = $_COOKIE[$name];
@@ -120,13 +120,13 @@ class Cookie
/** /**
* Cookie删除 * Cookie删除
* @param string $name cookie名称 * @param string $name cookie名称
* @param string $prefix cookie前缀 * @param string|null $prefix cookie前缀
* @return mixed * @return mixed
*/ */
public static function delete($name, $prefix = '') public static function delete($name, $prefix = null)
{ {
$config = self::$config; $config = self::$config;
$prefix = $prefix ? $prefix : $config['prefix']; $prefix = !is_null($prefix) ? $prefix : $config['prefix'];
$name = $prefix . $name; $name = $prefix . $name;
if (self::$config['setcookie']) { if (self::$config['setcookie']) {
setcookie($name, '', time() - 3600, $config['path'], $config['domain'], $config['secure'], $config['httponly']); setcookie($name, '', time() - 3600, $config['path'], $config['domain'], $config['secure'], $config['httponly']);
@@ -137,10 +137,10 @@ class Cookie
/** /**
* Cookie清空 * Cookie清空
* @param string $prefix cookie前缀 * @param string|null $prefix cookie前缀
* @return mixed * @return mixed
*/ */
public static function clear($prefix = '') public static function clear($prefix = null)
{ {
// 清除指定前缀的所有cookie // 清除指定前缀的所有cookie
if (empty($_COOKIE)) { if (empty($_COOKIE)) {
@@ -149,7 +149,7 @@ class Cookie
// 要删除的cookie前缀不指定则删除config设置的指定前缀 // 要删除的cookie前缀不指定则删除config设置的指定前缀
$config = self::$config; $config = self::$config;
$prefix = $prefix ? $prefix : $config['prefix']; $prefix = !is_null($prefix) ? $prefix : $config['prefix'];
if ($prefix) { if ($prefix) {
// 如果前缀为空字符串将不作处理直接返回 // 如果前缀为空字符串将不作处理直接返回
foreach ($_COOKIE as $key => $val) { foreach ($_COOKIE as $key => $val) {

View File

@@ -101,12 +101,12 @@ class Session
* *
* @param string $name session名称 * @param string $name session名称
* @param mixed $value session值 * @param mixed $value session值
* @param string $prefix 作用域(前缀) * @param string|null $prefix 作用域(前缀)
* @return void * @return void
*/ */
public static function set($name, $value = '', $prefix = '') public static function set($name, $value = '', $prefix = null)
{ {
$prefix = $prefix ? $prefix : self::$prefix; $prefix = !is_null($prefix) ? $prefix : self::$prefix;
if (strpos($name, '.')) { if (strpos($name, '.')) {
// 二维数组赋值 // 二维数组赋值
list($name1, $name2) = explode('.', $name); list($name1, $name2) = explode('.', $name);
@@ -126,12 +126,12 @@ class Session
* session获取 * session获取
* *
* @param string $name session名称 * @param string $name session名称
* @param string $prefix 作用域(前缀) * @param string|null $prefix 作用域(前缀)
* @return mixed * @return mixed
*/ */
public static function get($name = '', $prefix = '') public static function get($name = '', $prefix = null)
{ {
$prefix = $prefix ? $prefix : self::$prefix; $prefix = !is_null($prefix) ? $prefix : self::$prefix;
if ('' == $name) { if ('' == $name) {
// 获取全部的session // 获取全部的session
$value = $prefix ? (!empty($_SESSION[$prefix]) ? $_SESSION[$prefix] : []) : $_SESSION; $value = $prefix ? (!empty($_SESSION[$prefix]) ? $_SESSION[$prefix] : []) : $_SESSION;
@@ -158,12 +158,12 @@ class Session
* 删除session数据 * 删除session数据
* *
* @param string $name session名称 * @param string $name session名称
* @param string $prefix 作用域(前缀) * @param string|null $prefix 作用域(前缀)
* @return void * @return void
*/ */
public static function delete($name, $prefix = '') public static function delete($name, $prefix = null)
{ {
$prefix = $prefix ? $prefix : self::$prefix; $prefix = !is_null($prefix) ? $prefix : self::$prefix;
if (strpos($name, '.')) { if (strpos($name, '.')) {
list($name1, $name2) = explode('.', $name); list($name1, $name2) = explode('.', $name);
if ($prefix) { if ($prefix) {
@@ -183,12 +183,12 @@ class Session
/** /**
* 清空session数据 * 清空session数据
* *
* @param string $prefix 作用域(前缀) * @param string|null $prefix 作用域(前缀)
* @return void * @return void
*/ */
public static function clear($prefix = '') public static function clear($prefix = null)
{ {
$prefix = $prefix ? $prefix : self::$prefix; $prefix = !is_null($prefix) ? $prefix : self::$prefix;
if ($prefix) { if ($prefix) {
unset($_SESSION[$prefix]); unset($_SESSION[$prefix]);
} else { } else {
@@ -200,14 +200,14 @@ class Session
* 判断session数据 * 判断session数据
* *
* @param string $name session名称 * @param string $name session名称
* @param string $prefix * @param string|null $prefix
* *
* @return bool * @return bool
* @internal param mixed $value session值 * @internal param mixed $value session值
*/ */
public static function has($name, $prefix = '') public static function has($name, $prefix = null)
{ {
$prefix = $prefix ? $prefix : self::$prefix; $prefix = !is_null($prefix) ? $prefix : self::$prefix;
if (strpos($name, '.')) { if (strpos($name, '.')) {
// 支持数组 // 支持数组
list($name1, $name2) = explode('.', $name); list($name1, $name2) = explode('.', $name);