Example #1
0
 public function testSessionLibmemcached()
 {
     $session = new Phalcon\Session\Adapter\Libmemcached(array('servers' => array(array('host' => '127.0.0.1', 'port' => '11211')), 'prefix' => 'libmemcached'));
     $this->assertFalse($session->start());
     $this->assertFalse($session->isStarted());
     @session_start();
     $session->set('some', 'value');
     $this->assertEquals($session->get('some'), 'value');
     $this->assertTrue($session->has('some'));
     $this->assertEquals($session->get('undefined', 'my-default'), 'my-default');
     // Automatically deleted after reading
     $this->assertEquals($session->get('some', NULL, TRUE), 'value');
     $this->assertFalse($session->has('some'));
     @session_destroy();
 }
});
/**
 * If the configuration specify the use of metadata adapter use it or use memory otherwise
 */
$di->setShared('modelsMetadata', function () {
    return new MetaDataAdapter();
});
$di->setShared('logger', function () use($config) {
    $formatter = new \Phalcon\Logger\Formatter\Line('%date% %type%  %message%');
    $logger = new \Phalcon\Logger\Adapter\File('../phalcon.log');
    $logger->setLogLevel(\Phalcon\Logger::DEBUG);
    $logger->setFormatter($formatter);
    return $logger;
});
/**
 * Start the session the first time some component request the session service
 */
$di->setShared('session', function () {
    $session = new Phalcon\Session\Adapter\Libmemcached(array('servers' => array(array('host' => 'localhost', 'port' => 11211, 'weight' => 1)), 'client' => array(Memcached::OPT_HASH => Memcached::HASH_MD5, Memcached::OPT_PREFIX_KEY => 'prefix.'), 'lifetime' => 3600, 'prefix' => 'my_'));
    $session->start();
    return $session;
});
$di->set('security', function () {
    $security = new \Phalcon\Security();
    $security->setWorkFactor(12);
    return $security;
}, true);
$di->set('router', function () {
    require __DIR__ . '/routes.php';
    return $router;
});