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и все работает |
Результат этого кода
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 |
странно, у вас тоже код работает но выдаёт ошибки связаные с грамматическими правилами пхп, насколько я могу судить