[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по области видимости
vuler
Есть два класса. 1 класс содержится в другом.

class Class_A{
public $inside;
public $ins=2;
public $ika=1;
function __construct(){
$this->inside=new Class_B;
}
}

class Class_B{
public $tut=4;
function show_ika(){
echo $ika;
}
}

$a=new Class_A;
var_dump($inside);
echo $a->inside->show_ika();

Вопрос в строчке echo $ika; возможно ли получить доступ к свойств класса, в котором содержится текущий класс. И как правильно записать строку echo $ika.
Arh
Всё же работает, в чем вопрос?

class Class_A{
public $inside;
public $ins=2;
public $ika=1;
function __construct(){
$this->inside = new Class_B;
}
}


class Class_B{
public $ika = 'Hello';
function show_ika(){
echo $this->ika;
}
}


$a = new Class_A;
echo $a->inside->show_ika();
echo $a->inside->ika;


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
vuler
Мне нужно чтобы при
echo $a->inside->show_ika();
выводилось значение 1 вместо hello.
Arh
тогда просто

$a = new Class_A;
echo $a->ika;


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
vuler
Да нет, мне нужно из класса Б получить доступ к этому свойству.
Идея такая - чтоб в большом классе page хранить значение - admin status например. в классе page будет куча классов мелких, а в этих мелких еще несолько классов, но надо чтобы все они в любой момент могли проверить значение admin status класса, в котором они все содержатся(не наследуются). Можно ли такое вообще сделать? Вариант только использоовать глобальные переменные, сессии, но код станет хуже.
sergeiss
Можно, наверное, передать в класс Б ссылки на нужные переменные из класса А. Вот только смысл какой....


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
linker
Например так
class Class_A{
public $inside;
public $ins=2;
public $ika=1;
function __construct(){
$this->inside=new Class_B($this);
}
}

class Class_B{
private $_owner = null;
public $tut=4;
function __construct($owner){
$this->_owner = $owner;
}
function show_ika(){
echo $this->_owner->ika;
}
}

$a=new Class_A;
var_dump($inside);
echo $a->inside->show_ika();


_____________
Gear Framework
Gear Framework на Github
Invis1ble
особо не вникал, но по-моему ТС надо посмотреть в сторону namespace'ов smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

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