@@ -21,31 +21,57 @@ function html_minify($body)
2121 }
2222}
2323
24+ if ( !function_exists ('value ' ) ) {
25+ /**
26+ * @param $value
27+ * @return mixed
28+ *
29+ * value(new Class)->xxx
30+ */
31+ function value ($ value ) {
32+ return $ value ;
33+ }
34+ }
35+
36+ if ( !function_exists ('tap ' ) ) {
37+ function tap ($ value , callable $ callback ) {
38+
39+ $ callback ($ value );
40+
41+ return $ value ;
42+ }
43+ }
44+
2445if ( !function_exists ('cookie ' ) ) {
2546 /**
2647 * cookie get or set
2748 * @param string|array $name
2849 * @param mixed $default
29- * @param array $params
3050 * @return mixed
3151 */
32- function cookie ($ name , $ default =null , array $ params = [] )
52+ function cookie ($ name , $ default =null )
3353 {
3454 // set, when $name is array
3555 if ($ name && is_array ($ name ) ) {
36- $ p = array_merge ([
37- 'expire ' => null ,
38- 'path ' => null ,
39- 'domain ' => null ,
40- 'secure ' => null ,
41- 'httponly ' => null
42- ],$ params );
56+ $ d = [
57+ 'value ' => '' , 'expire ' => null , 'path ' => null , 'domain ' => null , 'secure ' => null , 'httpOnly ' => null
58+ ];
4359
44- foreach ($ name as $ key => $ value ) {
45- if ($ key && $ value && is_string ($ key ) && is_scalar ($ value )) {
46- $ _COOKIE [$ key ] = $ value ;
47- setcookie ($ key , $ value , $ p ['expire ' ], $ p ['path ' ], $ p ['domain ' ], $ p ['secure ' ], $ p ['httponly ' ]);
60+ foreach ($ name as $ n => $ value ) {
61+ if ( !$ n || !is_string ($ n ) ) {
62+ continue ;
4863 }
64+
65+ if ( is_array ($ value ) ) {
66+ $ d = array_merge ($ d , $ value );
67+ } elseif (is_scalar ($ value )) {
68+ $ d ['value ' ] = $ value ;
69+ } else {
70+ continue ;
71+ }
72+
73+ $ _COOKIE [$ n ] = $ d ['value ' ];
74+ setcookie ($ n , $ d ['value ' ], $ d ['expire ' ], $ d ['path ' ], $ d ['domain ' ], $ d ['secure ' ], $ d ['httpOnly ' ]);
4975 }
5076
5177 return $ name ;
0 commit comments