получение свойст класса

Тема в разделе "PHP программирование", создана пользователем vvsh, 26 авг 2010.

  1. vvsh

    vvsh Гость

    Здравствуйте.

    Есть такой код
    Код (PHP):
    class Cache {
    var $a = 0;

    function set($t) {
    $this->a = $this->a+$t;
    }
    }

    class Core {
    function a() {
    return Cache::set(3);
    }
    }

    $Core = new Core;
    echo $Core->a();
    когда я вызываю функцию a в классе Core, возникает ошибка
    Notice: Undefined property: Core::$a

    если вместо $this использовать self то возникает ошибка
    Fatal error: Access to undeclared static property: Cache::$a
    почему так происходит?
     
  2. kabanches

    kabanches Гость

    Так ну ты вызываешь статичную функцию Cache::set, а она не статична

    Добавлено: и потом "return Cache::set(3)" - так Cache::set ничего не возвращает же.

    Добавлено: вот конкретно для твоего примера и чтобы работало:
    Код (PHP):
    class Cache {
    static $a = 0;

    static function set($t) {
    return self::$a + $t;
    }
    }

    class Core {
    function a() {
    return Cache::set(3);
    }
    }

    $Core = new Core;
    echo $Core->a();
     
Загрузка...

Поделиться этой страницей