2009-10-31 2 views
0

Когда я делаю:Синтаксическая ошибка, когда в классе, но не в открытом состоянии?

class MyClass { 
    public $copy = file_get_contents('somefile.mdown'); 
} 

я получаю:

PHP Parse error: syntax error, unexpected '(', expecting ',' or ';' \ 
in /file.php on line 25 

Я новичок в классах в PHP, но не ООП.

Я могу, конечно, просто сделать file_get_contents вне класса, и все хорошо. Что с этим?

ответ

1

попробовать

class MyClass 
{ 
    public var $copy; 

    public function MyClass() 
    { 
     $this->copy = file_get_contents('somefile.mdown'); 
    } 
}; 

$obj = new MyClass(); 

Когда я объявляю $ копию в классе с

public var $copy; 

Я говорю: «Когда я делаю вещи типа MyClass он будет иметь переменную-член под названием«копия «».

Только в том случае, если этот класс создан, а конструктор называется (т.е. $ obj = new MyClass), то существует $ copy как часть некоторого объекта типа MyClass. В конструкторе выше (функция MyClass) вещь - это $ эта переменная, означающая «текущая вещь, на которую мне сказали работать». В этом случае это может быть $ obj в приведенном выше примере.

Cheers, -Doug

+0

Это было то, что я работал после того, как я написал вопрос, спасибо! –

+0

Также вам нужно '()' после MyClass, иначе вы получите синтаксическую ошибку. –

+0

cool thanks :) Сообщение обновляется с исправлением. –

Смежные вопросы