本文整理汇总了PHP中Slim::deleteCookie方法的典型用法代码示例。如果您正苦于以下问题:PHP Slim::deleteCookie方法的具体用法?PHP Slim::deleteCookie怎么用?PHP Slim::deleteCookie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Slim
的用法示例。
在下文中一共展示了Slim::deleteCookie方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: destroy
public function destroy($id)
{
Slim::deleteCookie($id);
}
示例2: testDeleteCookie
/**
* Test delete cookie
*
* This method ensures that the `Set-Cookie:` HTTP response
* header is set. The implementation of setting the response
* cookie is tested separately in another file.
*/
public function testDeleteCookie()
{
Slim_Environment::mock(array('SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar', 'COOKIE' => 'foo=bar; foo2=bar2'));
$s = new Slim();
$s->get('/bar', function () use($s) {
$s->setCookie('foo', 'bar');
$s->deleteCookie('foo');
});
$s->call();
list($status, $header, $body) = $s->response()->finalize();
$cookies = explode("\n", $header['Set-Cookie']);
$this->assertEquals(1, count($cookies));
$this->assertEquals(1, preg_match('@^foo=;@', $cookies[0]));
}
示例3: init
/**
* Initialize Slim
*
* This instantiates the Slim application using the provided
* application settings if available.
*
* Legacy Support:
*
* To support applications built with an older version of Slim,
* this method's argument may also be a string (the name of a View class)
* or an instance of a View class or subclass.
*
* @param array|string|Slim_View $viewClass An array of settings;
* The name of a View class;
* A View class or subclass instance;
* @return void
*/
public static function init($userSettings = array())
{
//Legacy support
if (is_string($userSettings) || $userSettings instanceof Slim_View) {
$settings = array('view' => $userSettings);
} else {
$settings = (array) $userSettings;
}
//Init app
self::$app = new Slim($settings);
//Init Not Found and Error handlers
self::notFound(array('Slim', 'defaultNotFound'));
self::error(array('Slim', 'defaultError'));
//Init view
self::view(Slim::config('view'));
//Init logging
if (Slim::config('log.enable') === true) {
$logger = Slim::config('log.logger');
if (empty($logger)) {
Slim_Log::setLogger(new Slim_Logger(Slim::config('log.path'), Slim::config('log.level')));
} else {
Slim_Log::setLogger($logger);
}
}
//Start session if not already started
if (session_id() === '') {
$sessionHandler = Slim::config('session.handler');
if ($sessionHandler instanceof Slim_Session_Handler) {
$sessionHandler->register();
}
session_start();
if (isset($_COOKIE[session_id()])) {
Slim::deleteCookie(session_id());
}
session_regenerate_id(true);
}
//Init flash messaging
self::$app->flash = new Slim_Session_Flash(self::config('session.flash_key'));
self::view()->setData('flash', self::$app->flash);
//Determine mode
if (isset($_ENV['SLIM_MODE'])) {
self::$app->mode = (string) $_ENV['SLIM_MODE'];
} else {
$configMode = Slim::config('mode');
self::$app->mode = $configMode ? (string) $configMode : 'development';
}
}
示例4: testSlimDeletesCookies
/**
* Test Slim deletes cookies
*
* Pre-conditions:
* Case A: Classic cookie
* Case B: Encrypted cookie
*
* Post-conditions:
* Response Cookies replaced with empty, auto-expiring Cookies
*/
public function testSlimDeletesCookies()
{
$app = new Slim();
$cj = $app->response()->getCookieJar();
//Case A
$app->setCookie('foo1', 'bar1');
$this->assertEquals('bar1', $cj->getResponseCookie('foo1')->getValue());
$this->assertTrue($cj->getResponseCookie('foo1')->getExpires() > time());
$app->deleteCookie('foo1');
$this->assertEquals('', $app->getCookie('foo1'));
$this->assertTrue($cj->getResponseCookie('foo1')->getExpires() < time());
//Case B
$app->setEncryptedCookie('foo2', 'bar2');
$this->assertTrue(strlen($cj->getResponseCookie('foo2')->getValue()) > 0);
$this->assertTrue($cj->getResponseCookie('foo2')->getExpires() > time());
$app->deleteCookie('foo2');
$this->assertEquals('', $cj->getResponseCookie('foo2')->getValue());
$this->assertTrue($cj->getResponseCookie('foo2')->getExpires() < time());
}
示例5: testDeleteCookie
/**
* Test delete cookie
*
* This method ensures that the `Set-Cookie:` HTTP response
* header is set. The implementation of setting the response
* cookie is tested separately in another file.
*/
public function testDeleteCookie()
{
Slim_Environment::mock(array('REQUEST_METHOD' => 'GET', 'REMOTE_ADDR' => '127.0.0.1', 'SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar', 'QUERY_STRING' => 'one=foo&two=bar', 'SERVER_NAME' => 'slimframework.com', 'SERVER_PORT' => 80, 'HTTP_COOKIE' => 'foo=bar; foo2=bar2', 'slim.url_scheme' => 'http', 'slim.input' => '', 'slim.errors' => @fopen('php://stderr', 'w')));
$s = new Slim();
$s->get('/bar', function () use($s) {
$s->setCookie('foo', 'bar');
$s->deleteCookie('foo');
});
$env = $s->environment();
list($status, $header, $body) = $s->call($env);
$cookies = explode("\n", $header['Set-Cookie']);
$this->assertEquals(1, count($cookies));
$this->assertEquals(1, preg_match('@^foo=;@', $cookies[0]));
}
示例6: testSlimDeletesCookies
/**
* Test Slim deletes cookies
*
* Pre-conditions:
* Case A: Classic cookie
* Case B: Encrypted cookie
*
* Post-conditions:
* Response Cookies replaced with empty, auto-expiring Cookies
*/
public function testSlimDeletesCookies()
{
Slim::init();
$cj = Slim::response()->getCookieJar();
//Case A
Slim::setCookie('foo1', 'bar1');
$this->assertEquals('bar1', $cj->getResponseCookie('foo1')->getValue());
$this->assertTrue($cj->getResponseCookie('foo1')->getExpires() > time());
Slim::deleteCookie('foo1');
$this->assertEquals('', Slim::getCookie('foo1'));
$this->assertTrue($cj->getResponseCookie('foo1')->getExpires() < time());
//Case B
Slim::setEncryptedCookie('foo2', 'bar2');
$this->assertTrue(strlen($cj->getResponseCookie('foo2')->getValue()) > 0);
$this->assertTrue($cj->getResponseCookie('foo2')->getExpires() > time());
Slim::deleteCookie('foo2');
$this->assertEquals('', $cj->getResponseCookie('foo2')->getValue());
$this->assertTrue($cj->getResponseCookie('foo2')->getExpires() < time());
}