|
|
|
| собственно вопрос:
есть
class A {
public $test = true;
}
class B extends A{
public function __construct(){
print $this->test;
}
}
|
можно ли из класса И получить значение свойства test? | |
|
|
|
|
|
|
|
для: darkozoid
(12.05.2015 в 17:00)
| | в смысле из класса B? можно, ваш скрипт как раз это и делает | |
|
|
|
|
|
|
|
для: psychomc
(12.05.2015 в 17:07)
| |
class A{
public $test;
public $test2;
public function __construct(){
$this->test = new B;
$this->test2 = new C;
}
}
class B extends A{
public function helo(){
print 'hello';
}
}
class C extends A{
public function __construct(){
$this->test->helo();
}
}
$m = new A;
$m->test2;
|
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261904 bytes) in Z:\home\test1.ru\www\index.php on line 7
суть ошибки понятна, но не понятно почему она вообще есть? | |
|
|
|
|
|
|
|
для: darkozoid
(12.05.2015 в 21:15)
| | Вот, что я получил выполнив ваш код:
PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /tmp/t.php on line 7
PHP Stack trace:
PHP 1. {main}() /tmp/t.php:0
PHP 2. A->__construct() /tmp/t.php:25
PHP 3. A->__construct() /tmp/t.php:8
PHP 4. A->__construct() /tmp/t.php:8
PHP 5. A->__construct() /tmp/t.php:8
PHP 6. A->__construct() /tmp/t.php:8
PHP 7. A->__construct() /tmp/t.php:8
PHP 8. A->__construct() /tmp/t.php:8
PHP 9. A->__construct() /tmp/t.php:8
PHP 10. A->__construct() /tmp/t.php:8
PHP 11. A->__construct() /tmp/t.php:8
PHP 12. A->__construct() /tmp/t.php:8
...
|
угадаете почему? | |
|
|
|
|
автор: Мимовася (20.05.2015 в 13:38) |
|
|
для: Igorek
(18.05.2015 в 10:06)
| | Очевидно же, у вас какой нибудь x-debug мешает функциям нормально выполняться. И лимиты на память надо бы поднять. | |
|
|
|
|
|
|
|
для: Мимовася
(20.05.2015 в 13:38)
| | >Очевидно же, у вас какой нибудь x-debug мешает функциям нормально выполняться. И лимиты на память надо бы поднять.
А по-моему, очевидны две другие вещи.
1.какое-то событие помешало вам проанализировать код до конца. И прийти к выводу, что
2. Лимиты на память совершенно не при чем. Выявленное поведение скрипта будет проявляться при любых конечных лимитах, а исполнение конструктора базового класса не завершится никогда.
Иначе этот бесполезный совершенно комментарий не появился бы.
Почему код так себя ведет, Igorek фактически раскрыл автору кода, приведя лог обратного стека.
Оставлено было совсем чуть чуть. | |
|
|
|
|
автор: Мимовася (21.05.2015 в 11:05) |
|
|
для: Trianon
(20.05.2015 в 21:50)
| | ух, Trianon, как всегда, серьёзен и не оставляет шансов на сарказм :) | |
|
|
|