LINUX.ORG.RU

История изменений

Исправление kiotoze, (текущая версия) :

С помощью var можно инициализировать только константные значения.

это из php4 и лучше не использовать больше никогда
для констант есть служебное слово CONST variable

class Sample
{
    // лучше делать через protected переменную и добавлять методы addFont, deleteFont
    const FONT_COLLECTION = ['caveman.gdf', 'automatic.gdf', 'bubblebath.gdf', 'crass.gdf'];

    // если нужно лишь первый раз выбрать, значит меняем на static и проверяем условие на if (null !== $this->fontFile) $this->pickUp..
    protected $fontFile;

    public function __construct()
    {
        $this->pickUpRandomFont();
    }

    public function pickUpRandomFont()
    {
        $this->fontFile = 'fonts/' . self::FONT_COLLECTION[rand(0, count(self::FONT_COLLECTION) - 1)];
        return $this;
    }

    function printFont()
    {
        echo $this->fontFile, PHP_EOL;
    }
}

$o = new Sample();
$o->printFont();
$o->pickUpRandomFont()->printFont();

Исходная версия kiotoze, :

С помощью var можно инициализировать только константные значения.

это из php4 и лучше не использовать больше никогда
для констант есть служебное слово CONST variable

class Sample
{
    // лучше делать через protected переменную и добавлять методы addFont, deleteFont
    const FONT_COLLECTION = ['caveman.gdf', 'automatic.gdf', 'bubblebath.gdf', 'crass.gdf'];

    protected $fontFile;

    public function __construct()
    {
        $this->pickUpRandomFont();
    }

    public function pickUpRandomFont()
    {
        $this->fontFile = 'fonts/' . self::FONT_COLLECTION[rand(0, count(self::FONT_COLLECTION) - 1)];
        return $this;
    }

    function printFont()
    {
        echo $this->fontFile, PHP_EOL;
    }
}

$o = new Sample();
$o->printFont();
$o->pickUpRandomFont()->printFont();