$this
ключевое слово относится к экземпляру класса. Когда вы пытаетесь вызвать его внутри статического метода, экземпляр класса не используется. Таким образом, ваш метод assign
не может быть статическим для взаимодействия с $params
, который не является статическим. Сделать $params
статическим или assign
динамическим (не статичным).
<?php
class Templater
{
static var $params = array();
public static function assign($name, $value)
{
$this->params[] = array($name => $value);
}
public static dunction draw()
{
return self::params;
}
}
или
<?php
class Templater
{
var $params = array();
public function assign($name, $value)
{
$this->params[] = array($name => $value);
}
public dunction draw()
{
return $this->params;
}
}
Оба будут работать, но вы должны выбрать тот, который больше подходит для дизайна вашего приложения.