[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: CLASS ERROR
hkaren
Подскажите пожалуйста почему этот класс не работает?

class A
{
function foo()
{
echo 'value';
}
}


class B
{
function bar()
{
A::foo(); // ERROR
}
}






Спустя 33 минуты, 13 секунд (1.07.2010 - 19:12) twin написал(а):
А почему ты решил, что не работает?

Спустя 9 минут, 46 секунд (1.07.2010 - 19:22) Slays написал(а):
hkaren
а класс В от А унаследовать не надо ?

Спустя 12 часов, 35 минут, 25 секунд (2.07.2010 - 07:57) linker написал(а):
Цитата (twin @ 1.07.2010 - 16:12)
А почему ты решил, что не работает?

Видимо потому, что человек забыл написать B::bar(); Либо PHP 4 использует.

Спустя 31 минута, 19 секунд (2.07.2010 - 08:29) Kuzya написал(а):
А что за ошибка то хоть?

Спустя 8 минут, 16 секунд (2.07.2010 - 08:37) Michael написал(а):
Slays верно говорит - extends забыт

Спустя 4 минуты, 17 секунд (2.07.2010 - 08:41) linker написал(а):
зачем здесь extends A? Тут банально из метода B::bar() вызывается метод A::foo(); Не нужны тут никакие extends.
class A
{
function foo() { echo 'value'; }
}


class B
{
function bar() { A::foo(); }
}

B::bar(); // вывод: 'value'
и все работает

Спустя 16 минут, 2 секунды (2.07.2010 - 08:57) Michael написал(а):
да, точно, работает. А что ж тогда у ТС не работало - непонятно. Не все выставил наверное. Если бы он статику подразумевал - почему то static объявления забыты.

Спустя 9 минут, 22 секунды (2.07.2010 - 09:07) linker написал(а):
Michael, он просто не сказал что за ошибка, вот и мучаемся, гадаем.

Спустя 11 часов, 7 минут, 16 секунд (2.07.2010 - 20:14) hkaren написал(а):
Цитата (linker @ 2.07.2010 - 05:41)
зачем здесь extends A? Тут банально из метода B::bar() вызывается метод A::foo(); Не нужны тут никакие extends.
class A
{
    function foo() { echo 'value'; }
}


class B
{
    function bar() { A::foo(); }    // Line 11
}
B::bar(); // вывод: 'value'  // Line 13
и все работает

Результат этого кода

Strict Standards: Non-static method B::bar() should not be called statically in c:\www\html\class.php on line 13

Strict Standards: Non-static method A::foo() should not be called statically in c:\www\html\class.php on line 11

value

Спустя 2 часа, 18 минут, 27 секунд (2.07.2010 - 22:32) linker написал(а):
class A
{
public static function foo() { echo 'value'; }
}


class B
{
public static function bar() { A::foo(); }
}

B::bar()

Спустя 6 дней, 21 час, 40 минут, 13 секунд (9.07.2010 - 20:13) hkaren написал(а):
Большое спасибо

Спустя 16 часов, 57 минут, 28 секунд (10.07.2010 - 13:10) qpayct написал(а):
apache2.0.58 + php4.4.9 - работает.
class A
{
function foo() { echo 'value'; }
}


class B
{
function bar() { A::foo(); }
}

B::bar()
все ошибки вроде как вывожу
Цитата
error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
error_log = c:/wamp/logs/php_error.log
странно, у вас тоже код работает но выдаёт ошибки связаные с грамматическими правилами пхп, насколько я могу судить
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.