本文整理匯總了PHP中Nette\Environment::getMode方法的典型用法代碼示例。如果您正苦於以下問題:PHP Environment::getMode方法的具體用法?PHP Environment::getMode怎麽用?PHP Environment::getMode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Nette\Environment
的用法示例。
在下文中一共展示了Environment::getMode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: detect
/**
* Detect environment mode.
* @param string mode name
* @return bool
*/
public function detect($name)
{
switch ($name) {
case 'environment':
// environment name autodetection
if ($this->detect('console')) {
return Environment::CONSOLE;
} else {
return Environment::getMode('production') ? Environment::PRODUCTION : Environment::DEVELOPMENT;
}
case 'production':
// detects production mode by server IP address
if (PHP_SAPI === 'cli') {
return FALSE;
} elseif (isset($_SERVER['SERVER_ADDR']) || isset($_SERVER['LOCAL_ADDR'])) {
$addr = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR'];
$oct = explode('.', $addr);
// 10.0.0.0/8 Private network
// 127.0.0.0/8 Loopback
// 169.254.0.0/16 & ::1 Link-Local
// 172.16.0.0/12 Private network
// 192.168.0.0/16 Private network
return $addr !== '::1' && (count($oct) !== 4 || $oct[0] !== '10' && $oct[0] !== '127' && ($oct[0] !== '172' || $oct[1] < 16 || $oct[1] > 31) && ($oct[0] !== '169' || $oct[1] !== '254') && ($oct[0] !== '192' || $oct[1] !== '168'));
} else {
return TRUE;
}
case 'console':
return PHP_SAPI === 'cli';
default:
// unknown mode
return NULL;
}
}