Статика

 
0
 
PHP
ava
superphp | 19.03.2013, 20:36
Читаю  про статические функции, там пример такой:


<?php 
class test{
    const POW = 2;
    static $sumlength = 0;
    static function length($s) {
        $len = strlen($s);
        self::$sumLength +=$len;
        return $len;
    }
    static function poweredLength($s){
        $len = self::length($s);
        return pow($len, self::POW);
    }
}

echo test::length('abcd').'<br />';
echo test::poweredLength('abcd').'<br />';
?>



Выдает такую ошибку:
Fatal error: Access to undeclared static property: test::$sumLength in D:\server\super-php\test.ru\www\index.php on line 7


Не работает наверное self, как его включить?
Kommentare (3)
ava
Gold Dragon | 19.03.2013, 20:22 #
$sumlength и $sumLength - найди одно отличие  smile 
ava
Арантир | 19.03.2013, 23:26 #
Цитата (superphp @  19.3.2013,  18:36 findReferencedText)
 self::$sumLength

Вопрос на засыпку. Что вернет этот код:

<?php
class test
{
    public $var1 = '12345';
    public $var2 = '67890';

    public static function run()
    {
        $var2 = 'var1';
        echo self::$var2;
    }
}
test::run();
ava
Zorak | 20.03.2013, 10:30 #
Не понял чтоли ??? при вызове у тебя слово Length начинается с большой буквы, а при оглашении переменной  с маленькой, ето ошибка.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden