Вот мой рабочий код: -Установка частной переменной в конструкции не работает
public static function getOperatingSys() {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$osPlatform = "Unknown OS";
$osArray = array(
'/windows nt 10/i' => 'Windows 10',
'/windows nt 6.3/i' => 'Windows 8.1',
'/windows nt 6.2/i' => 'Windows 8'
);
foreach ($osArray as $regex => $value) {
if (preg_match($regex, $user_agent)) {
$osPlatform = $value;
}
}
return $osPlatform;
}
Как вы можете видеть $user_agent = $_SERVER['HTTP_USER_AGENT'];
работает.
Однако, как я могу преобразовать его в это ?:
private $user_agent;
public function __construct() {
$this->user_agent = $_SERVER['HTTP_USER_AGENT'];
}
public static function getOperatingSys() {
$osPlatform = "Unknown OS";
$osArray = array(
'/windows nt 10/i' => 'Windows 10',
'/windows nt 6.3/i' => 'Windows 8.1',
'/windows nt 6.2/i' => 'Windows 8'
);
foreach ($osArray as $regex => $value) {
if (preg_match($regex, $user_agent)) {
$osPlatform = $value;
}
}
return $osPlatform;
}
Я помещаю private $user_agent
, но как я могу сделать это так, что она равна $_SERVER['HTTP_USER_AGENT'];
и то, как я могу использовать его/ее называют в моей функции getOperatingSys()
?
'если (preg_match ($ регулярное выражение, $ this-> user_agent)) {' –
@Anant Я получаю эту ошибку: 'Фатальная ошибка: неперехваченным Ошибка: Использование $ это, когда не в контексте объекта в ' – jasonmoqio