Prado\Web\THttpRequest::getCookies PHP Method

getCookies() public method

public getCookies ( ) : THttpCookieCollection
return THttpCookieCollection list of cookies to be sent
    public function getCookies()
    {
        if ($this->_cookies === null) {
            $this->_cookies = new THttpCookieCollection();
            if ($this->getEnableCookieValidation()) {
                $sm = $this->getApplication()->getSecurityManager();
                foreach ($_COOKIE as $key => $value) {
                    if (($value = $sm->validateData($value)) !== false) {
                        $this->_cookies->add(new THttpCookie($key, $value));
                    }
                }
            } else {
                foreach ($_COOKIE as $key => $value) {
                    $this->_cookies->add(new THttpCookie($key, $value));
                }
            }
        }
        return $this->_cookies;
    }

Usage Example

Esempio n. 1
0
 public function testGetCookies()
 {
     $request = new THttpRequest();
     $request->init(null);
     $request->setEnableCookieValidation(false);
     $cookies = $request->getCookies();
     self::assertInstanceOf('Prado\\Web\\THttpCookieCollection', $cookies);
     self::assertEquals('0123456789abcdef', $cookies->itemAt('phpsessid')->getValue());
     $request = null;
     // Test with cookie validation
     $security = new TSecurityManager();
     self::$app->setModule('security', $security);
     $_COOKIE['phpsessid'] = $security->hashData('0123456789abcdef');
     $request = new THttpRequest();
     $request->init(null);
     $request->setEnableCookieValidation(true);
     $cookies = $request->getCookies();
     self::assertInstanceOf('Prado\\Web\\THttpCookieCollection', $cookies);
     self::assertEquals('0123456789abcdef', $cookies->itemAt('phpsessid')->getValue());
 }