1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

  1. vvsh

    vvsh Гость

    Репутация:
    0
    Здравствуйте.

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

    function 
    set($t) {
    $this->$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 Гость

    Репутация:
    0
    Так ну ты вызываешь статичную функцию 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();
     
Загрузка...

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