Или я туплю или PHP... Статические методы

shureen

Милорд Лось Кристофер
Или я туплю или PHP... Статические методы

Здраствуйте! Пишу элементарный класс (кусок из него):
PHP:
class test
{
	private $test;
	
	static public function setTest ($test)
	{
		$this->test = $test;
	}
}

test::setTest ('test');
Выдаёт ошибку:
Код:
Fatal error: Using $this when not in object context
Это я так туплю к ночи или что?
 

Bitterman

Новичок
в статических методах нельзя использовать $this, так как экземпляра класса нет. Надо использовать self.
 

shureen

Милорд Лось Кристофер
пишу вместо $this->test = $test; self::test = "test". Выдаёт
Код:
Parse error: syntax error, unexpected '='
. Что и понятно, так как свойство test не являеться статическим. Определяю свойство $test как static public. Такая же ошибка. Я в ступаре
 

Beavis

Banned
ладно ещё у MySQL можно не понять что за ошибку он выдает, а PHP то прям подробно где и чё и почему... только прочитать осталось
 

shureen

Милорд Лось Кристофер
Автор оригинала: berkut
тада и private $test; надо как статик заявлять
Т.е. вы хотите сказать что свойства использующие в static методах, тоже должны быть static?
 

Beavis

Banned
shureen
в мануале всё описано с примерами
и с правильным синтаксисом
и вообще поймите сначала что такое класс, что такое объект и что такое статические свойства
 

shureen

Милорд Лось Кристофер
Автор оригинала: Beavis
ладно ещё у MySQL можно не понять что за ошибку он выдает, а PHP то прям подробно где и чё и почему... только прочитать осталось
Ошибку типа "Fatal error: Using $this when not in object context" Ещё можно понять, потому что не создан ни один экземпляр класса. А вот почему тогда при свойтве static public $test и присвоении self::test = "test' выдаёт ошибку "Parse error: syntax error, unexpected '='" понять не могу
 

berkut

Новичок
shureen
чувак, залезь в мануал, в раздел classes & objects php 5. прочти пару-тройку страниц
 

Beavis

Banned
shureen
потому что Parse Error - это ошибка синтаксиса!
тебя на сайте с мануалом забанили чтоль?
 

shureen

Милорд Лось Кристофер
Автор оригинала: Fally
self::$test
вот я и спрашивал, туплю или нет. Оказалось что туплю, извините все. Тему можно закрыть!

P.S. Оказываеться время суток и количество пива в организме так могут с понтолыги сбить =)

P.S.S. Ещё раз извиняюсь перед всеми!
 
Сверху