В классе вы можете использовать SESSION только в методах ...
На самом деле, если вы хотите что-то сделать в классе, вы должны написать это в методе ...
Класс не является функцией. У него есть некоторые переменные - как атрибуты - и некоторые функции - как метод. Вы можете определять переменные, вы можете их инициализировать. Но вы не можете делать с ними никаких операций вне метода ...
например
public static $var1; // OK!
public static $var2=5; //OK!
public static $var3=5+5; //ERROR
Если вы хотите установить их таким образом, вы должны использовать конструктор ... (но помните: конструкторы не вызываются, пока объект не создан ...)
<?php
session_start();
$_SESSION['color'] = 'blue';
class utilities {
public static $color;
function __construct()
{
$this->color=$_SESSION['color'];
}
function display()
{
echo utilities::$color;
}
}
utilities::display(); //empty output, because constructor wasn't invoked...
$obj=new utilities();
echo "<br>".$obj->color;
?>