Привет, мне надо вызвать переменную, к которая в файле review.php описана как this я не могу понять к какому пвсевдо классу обращается эта переменная. Если у вас есть соображения, пожалуйста поделитесь. Интересующая переменная в самом низу кода. Код начинается в файле именно так как здесь, никаких классов нет. Код работает, переменную выводит. Мне же она нужна чтобы всунуть ее на другую страницу Код (Text): <div class="uk-grid uk-grid-small" data-uk-grid-margin data-uk-grid-match="{target:'.rc-cart-review-details'}"> <div class="uk-width-1-1 uk-width-medium-1-2"> <div class="uk-panel uk-panel-box"> <h3 class="uk-panel-title"><i class="uk-icon-file-text-o"></i> <?php echo RCUtilities::$localization->order->details; ?></h3> <div class="rc-cart-review-details"> <dl class="uk-description-list-horizontal"> <dt><?php echo RCUtilities::$localization->order->number; ?></dt> <dd><?php echo $this->cart->ID; ?></dd> --- Добавлено --- мне кажется, что я нашел ее в другом файле, RCCart.php Как обратиться к переменной ID? Код (Text): class RCCart { public function __construct () { $this->getID(); $this->loadReferrer(); $this->loadCouponCode(); $this->loadItems(); $this->loadCustomer(); $this->loadOptions(); $this->loadShipping(); $this->loadPayment(); $this->setTaxes(); $this->setTotal(); } private function getID ($reset = FALSE) { $ID = strtoupper(uniqid()); $this->ID = $reset ? RCUtilities::saveSessionData('ID', $ID) : RCUtilities::loadSessionData('ID', $ID); }
Переменная $this пишется внутри класса и означает объект этого класса. Т. е., допустим, есть класс: PHP: class Valera_mider{ public $mid = 'Валера'; public function mider(){ return $this->mid; } } $obj = new Valera_mider(); // теперь создадим объект класса Valera_mider $mider = $obj->mider(); // метод mider вернет значение свойства mid
Это понятно, спасибо. Мне не понятно, к чему обращается $this из куска кода выше, классов-то нет никаких. Файл review.php начинается именно так, как написано выше. в браузере я вижу строку: index.php?cart/review - то есть он загружает файл reviev.php в директории cart но в нем нет классов, а он к чему-то обращается своим $this
То есть переменная относится к классу, к которой цепляется файл. То есть, говоря языком нуба браузер вначале грузит основной файл, потом подгружает еще этот. Проблема в том, что основной файл - index.php который выглядит точно так же, куча дивов без оговоренных классов.
это работает не так. Браузер не имеет дела с php вообще. Сервер возвращает ему только html страницу уже полную от <!DOCTYPE до </html> Дополнительно подгружаются только файлы, относящиеся к работе страницы (css, js и т д).
Спасибо, это важное замечание. По совету с другого форума я дал команду принт рд на переменную $this, и у меня выкатило простюню. В ней я могу увидеть куда именно обращается $this чтобы ее сгенерировать ?
Возможно. Это хороший универсальный ответ на любой вопрос в форуме. Я просто пытаюсь найти переменную в файле php чтобы передать ее дальше. Это абсолютно прикладная задача. Мне не нужно сейчас годами читать "мама мыла раму" развиваясь внутренне. Мне нужно имя конкретной переменной
Определившись с тем, что за библиотека используется - узнаете, каким образом подключаются view-шаблоны. При подключении соответственно в шаблон "передается" набор переменных... И узнаете, какой объект воплощает пресловутая $this (фронт-контроллер, view-представление или ещё что) и каким образом создается этот объект... (например, фабрикой, в конструктор которой передается путь до шаблона и его имя...) Далее - сможете найти в исходниках место "подключение" и определиться со своими дальнейшими действиями.