本文整理汇总了PHP中Library\Application::isTest方法的典型用法代码示例。如果您正苦于以下问题:PHP Application::isTest方法的具体用法?PHP Application::isTest怎么用?PHP Application::isTest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Library\Application
的用法示例。
在下文中一共展示了Application::isTest方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testEnvironment
/**
* Tests for environment detection methods
*
* The tests cover getEnvironment(), isProduction(), isDevelopment() and
* isTest() with all relevant values for the APPLICATION_ENV environment
* variable.
*/
public function testEnvironment()
{
// Assume that the tests have been invoked with APPLICATION_ENV set to
// "test". Otherwise the tests might be incomplete.
$this->assertEquals('test', getenv('APPLICATION_ENV'));
$this->assertEquals('test', Application::getEnvironment());
$this->assertFalse(Application::isProduction());
$this->assertTrue(Application::isDevelopment());
$this->assertTrue(Application::isTest());
// Unset APPLICATION_ENV, equivalent to "production"
putenv('APPLICATION_ENV');
$this->assertEquals('production', Application::getEnvironment());
$this->assertTrue(Application::isProduction());
$this->assertFalse(Application::isDevelopment());
$this->assertFalse(Application::isTest());
// Test "development" environment
putenv('APPLICATION_ENV=development');
$this->assertEquals('development', Application::getEnvironment());
$this->assertFalse(Application::isProduction());
$this->assertTrue(Application::isDevelopment());
$this->assertFalse(Application::isTest());
// Test invalid environment. Ensure that the variable is reset to its
// default in either case.
putenv('APPLICATION_ENV=invalid');
try {
Application::getEnvironment();
} catch (\DomainException $expected) {
$invalidEnvironmmentDetected = true;
}
// Reset to default.
putenv('APPLICATION_ENV=test');
if (!isset($invalidEnvironmmentDetected)) {
$this->fail('Invalid environment was undetected.');
}
}
示例2: _postSetSchema
/**
* {@inheritdoc}
* @codeCoverageIgnore
*/
protected function _postSetSchema($logger, $schema, $database)
{
if (!\Library\Application::isTest() and isset($database->getTables()['network_devices'])) {
$definedTypes = $this->fetchCol('name');
foreach ($this->adapter->query('SELECT DISTINCT type FROM network_devices')->execute() as $type) {
$type = $type['type'];
if (!in_array($type, $definedTypes)) {
$logger->notice(sprintf('Creating undefined network device type "%s"', $type));
$this->_serviceLocator->get('Model\\Network\\DeviceManager')->addType($type);
}
}
}
}
示例3: forceLogin
/**
* Hook to redirect unauthenticated requests to the login page
*
* @param \Zend\Mvc\MvcEvent $e MVC event
* @return mixed Redirect response (\Zend\Stdlib\ResponseInterface) or NULL to continue
*/
public function forceLogin(\Zend\Mvc\MvcEvent $e)
{
// If user is not yet authenticated, redirect to the login page except
// for the login controller, in which case redirection would result in
// an infinite loop.
$serviceManager = $e->getApplication()->getServiceManager();
if (!$serviceManager->get('Zend\\Authentication\\AuthenticationService')->hasIdentity() and $e->getRouteMatch()->getParam('controller') != 'login' and !\Library\Application::isTest()) {
// Preserve URI of current request for redirect after successful login
$session = new \Zend\Session\Container('login');
$session->originalUri = $e->getRequest()->getUriString();
$location = $e->getRouter()->assemble(array('controller' => 'login', 'action' => 'login'), array('name' => 'console'));
$response = $e->getResponse();
$response->setStatusCode(302);
$response->getHeaders()->addHeaderLine('Location', $location);
return $response;
}
}
示例4: getConfig
/**
* @internal
*/
public function getConfig()
{
// Static configuration part
$config = array('service_manager' => array('abstract_factories' => array('Database\\Service\\AbstractTableFactory'), 'factories' => array('Db' => 'Zend\\Db\\Adapter\\AdapterServiceFactory', 'Database\\Nada' => 'Database\\Service\\NadaFactory', 'Database\\SchemaManager' => 'Database\\Service\\SchemaManagerFactory')));
if (\Library\Application::isTest()) {
// Test setup with in-memory database
$config['db'] = array('driver' => 'Pdo_Sqlite');
} else {
// Merge database configuration from config file
$configFileContent = \Library\Application::getConfig();
if (!is_array($configFileContent['database'])) {
throw new \RuntimeException('Config file has no "database" section');
}
$config['db'] = $configFileContent['database'];
}
$config['db']['charset'] = 'utf8';
return $config;
}