Tapo4ek
Новичок
Видимость переменных в классе
День добрый.
Есть класс родитель "MyClass", есть потомок "MyClass2 extends MyClass".
В конструкторе родительского классе идет определение переменной "$public" после этого идет вызов функции "a1()".
В функции "a1()" происходит присоединение файла с классом потомка.
В конструкторе класса потомка идет вызов функции "а2()".
В функции "а2()" выводим переменную "$public".
Проблема: при выводе переменной из-под класса потомка, переменная не изменяться.
var_dump($obj)
object(MyClass)#1 (1) { ["public"]=> string(1) "b" }
var_dump($obj2)
object(MyClass2)#2 (1) { ["public"]=> string(1) "a" }
Что я делаю не так?
Код:
1.php
2.php
День добрый.
Есть класс родитель "MyClass", есть потомок "MyClass2 extends MyClass".
В конструкторе родительского классе идет определение переменной "$public" после этого идет вызов функции "a1()".
В функции "a1()" происходит присоединение файла с классом потомка.
В конструкторе класса потомка идет вызов функции "а2()".
В функции "а2()" выводим переменную "$public".
Проблема: при выводе переменной из-под класса потомка, переменная не изменяться.
var_dump($obj)
object(MyClass)#1 (1) { ["public"]=> string(1) "b" }
var_dump($obj2)
object(MyClass2)#2 (1) { ["public"]=> string(1) "a" }
Что я делаю не так?
Код:
1.php
PHP:
<?php
class MyClass
{
public $public = 'a';
function __construct() {
$this->public = 'b';
$this-> a1();
}
function a1()
{
require_once('2.php');
}
}
$obj = new MyClass();
?>
PHP:
<?
class MyClass2 extends MyClass
{
function __construct() {
$this-> a2();
}
function a2()
{
echo $this->public;
}
}
$obj2 = new MyClass2();
?>