$ _COOKIE рдХрд╛ рдЙрдкрдпреЛрдЧ $ _SESSION рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВ

рд╡рд┐рд╖рдп рджреВрд░ рдХреЗ рдмрдЪрдкрди рд╕реЗ рдЖрдпрд╛ рдерд╛, рдЬрдм рдореИрдВ рд╕рд┐рд░реНрдл рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рдерд╛, PHP рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдЙрд╕ рд╕рдордп, рдореИрдВ рдЗрд╕ рдЕрдиреНрдпрд╛рдп рд╕реЗ рд╣реИрд░рд╛рди рдерд╛: рдЖрдк рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА ( $ _SESSION ) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рдереЗ, рдФрд░ рдХреБрдХреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реЗрдЯрдХреБрдХреА () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛ред рддрдм рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдФрд░ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╕рдордп рдЧреБрдЬрд░рддрд╛ рд╣реИ рдФрд░ PHP рдЕрднреА рднреА рдЦрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрд╕рдкреАрдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдРрд╕реА рдЕрджреНрднреБрдд рдЪреАрдЬ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред ArrayAccess рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
рдФрд░ рдЕрдм рдореБрдЭреЗ рдЕрдкрдирд╛ рдмрдЪрдкрди рдХрд╛ рд╡рд┐рдЪрд╛рд░, $ _COOKIE рд╕рд░рдгреА рдпрд╛рдж рдЖрдпрд╛, рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛:

<?php /*              */ $_COOKIE['lang'] = 'ru'; 


рдЖрдк рдХрдЯ рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ


 <?php class CookieStorage implements ArrayAccess { //       const DEFAULT_EXPIRE_TIME = 1411200; // 2  //   private $_storage; //        $_COOKIE public function __construct($cookies) { $this->_storage = $cookies; } //   ArrayAccess     public function offsetExists ($offset) { return isset ($this->_storage[$offset]); } //   ArrayAccess    public function offsetUnset ($offset) { unset($this->_storage[$offset]); } //       public function offsetGet ($offset) { return $this->_storage[$offset]; } //      public function offsetSet ($offset, $value) { if( $this->_setCookie($offset, $value) ){ $this->_storage[$offset] = $value; } else{ trigger_error('Cookie value was not set', E_USER_WARNING); } } //    setcookie private function _setCookie( $name, $value, $expire = 0, $path = '/', $domain = false, $secure = false , $httponly = false ){ if (!headers_sent()){ if ($domain === false){ $domain = $_SERVER['HTTP_HOST']; } if( $expire == 0 ){ $expire = time() + self::DEFAULT_EXPIRE_TIME; } return setcookie ( $name, $value, $expire, $path, $domain, $secure, $httponly ); } return false; } } //        $_COOKIE = new CookieStorage( $_COOKIE ); 


рд╕рд░рд▓ рд╕реЗрдХреНрдпреВрдХреА () рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ? рдареАрдХ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд░рд┐рдХреЙрд░реНрдб рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ $ _COOKIE рд╕рд░рдгреА рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ (рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдкреЗрдЬ рд░реАрд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ)ред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рд╣реИ, рд╣рд╛рдВ, рдпрд╣ рдореЗрд░реА рд╕рд╛рдЗрдХрд┐рд▓ рд╣реИред рдпрд╣ рдПрдХ рдРрд╕рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо% рдкрд╕рдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕реЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдЧрд╛ред

Source: https://habr.com/ru/post/In134870/


All Articles