Форум → Программирование → PHP для идиотов → PHP и ООП → parent::*,static var - нельзя,как тогда?
parent::*,static var - нельзя,как тогда?
-
-
10 августа 2009 г. 3:14, спустя 1 минуту 48 секунд
статичная переменная тут не подходит
при чем тут статичные члены класса?https://smappi.org/ - платформа по созданию API на все случаи жизни -
10 августа 2009 г. 3:15, спустя 1 минуту 46 секунд
ну это если вдруг кто не поймет что значение у каждого уникально :)Спустя 16 сек.а сделать родителем васимертвого сашу никак?
А что это даст? -
10 августа 2009 г. 3:22, спустя 6 минут 23 секунды
Не понял про что вы тогда,если можно код.
Мне статус васи нужен а не саши) -
10 августа 2009 г. 3:27, спустя 4 минуты 52 секунды
Ну вопрос как я понял был про то чтоб получить статус саши )))
Спустя 16 сек.а, ты уже подправил ) -
10 августа 2009 г. 3:29, спустя 2 минуты 12 секунд
Опишу реальную ситуацию,есть 1 класс от которого наследуются другие классы,чтобы более проще работать с совершенно иным класом,проще работать имеется ввиду,что родитель делает всю черную работу за "детей",так вот эти самые дети меняют/присваивают значения некоторым членам родительского класа. Так вот вопрос как в таком окружении,совершенного левому классу "правильно" унаследоватся от одного из детей родителя и получить доступ к "новым" значениям родителя,которые изменил наследник.
Система предусматривает доступ к ним через паттерн registry,но хотелось бы как-то более красивей чтоли сделать и логичней,так как написано выше. -
-
-
11 августа 2009 г. 0:44, спустя 14 часов 21 минуту 49 секунд
class Register {
private $state;
private $instance;
private function __construct(){
}
public function __instance(){
if($this->instanceinstance)
$this->instance= new __CLASS__;
return $this->instance;
}
public function setState($newState){
$this->state = $newState;
}
public function getState(){
return $state;
}
}
class Child1 extends Parent
{
public function changeVariable()
{
$this->variable = 'changed';
Register::__instance()->setState($this->variable );
}
}
class Child2 extends Parent
{
public function returnVariable()
{
return Register::__instance()->getState();
}
}
Пожалуйста, авторизуйтесь, чтобы написать комментарий!