oop — метод не передается при прохождении класса? Переполнение стека

Что я хочу спросить,

скажем у меня есть класс Info и есть получатель в информации под названием getABC()

В контроллере я назначил что-то вроде

$info = new Info();

$variable['info'] =$info;

а также $variable передается в поле зрения.

По-моему, я могу использовать что-то вроде $variable['info']->getABC() ?
Я знаю, что могу просто проверить это сам, и не смог сказать, что-то вроде этого не существует и $variable['info'] действительно показывает что-то, хотя

Я просто хочу убедиться, что $variable['info']->getABC() Предполагается, что НЕ работает, или это должно, но я просто делаю что-то не так, поэтому я не мог получить то, что нужно.

фактический код ниже ……..

Учебный класс

class CreditCardPayment{

private $_card_type = '';
private $_card_number = '';
private $_card_number_last_4 = '';

public function setCardType($v)
{
$this->_card_type = $v;
return $this;
}

public function setCardNumber($v)
{
$this->_card_number = $v;
return $this;
}

public function setCardNumberLast4($v) {
$lastFourDigits =  substr($v, -4);
$output = 'xxxx-xxxx-xxxx-' . $lastFourDigits;
$this->_card_number_last_4 = $output;
return $this;
}

public function getCardType() {
return $this->_card_type;
}

public function getCardNumber() {
return $this->_card_number;
}

public function getCardNumberLast4() {
return $this->_card_number_last_4;
}

}

и в контроллере, скажем, когда это успешно …. это будет что-то вроде этого, где $creditCardPayment = new CreditCardPayment и я попробовал var_dump($creditCardPayment) что информация определенно заполнена и, конечно, те private переменные, поэтому я должен был использовать getter вернуть их.

контроллер

$ordermess['creditCardPaymentInfo'] = $creditCardPayment;
\Yii::$app->session->set('ordermess', $ordermess);
$this->redirect('/pay/completed');

тогда, на мой взгляд … я сделал это как тестирование

<?php
echo '<pre>';
echo ($ordermess['creditCardPaymentInfo']->getCardNumberLast4());
echo '</pre>';
die;

?>

тогда, когда я загружаю страницу, я получаю ошибку.

Вызов функции-члена getCardNumberLast4 () для необъекта

2

Решение

Да. Это должно работать. Если в функции есть код очистки, назначающий переменные представлению, это может быть преобразование объекта в массив.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]