我想问的是,
假设我有一个班级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;
}
}
并且在Controller中让我们说它什么时候成功......它会是这样的$creditCardPayment = new CreditCardPayment
而我试过var_dump($creditCardPayment)
肯定信息全部填满了当然那些{{1}因此我必须使用private
检索它们。
控制器
getter
然后在我看来......我做了这个测试
$ordermess['creditCardPaymentInfo'] = $creditCardPayment;
\Yii::$app->session->set('ordermess', $ordermess);
$this->redirect('/pay/completed');
然后当我加载页面时,我会收到错误。
在非对象
上调用成员函数getCardNumberLast4()
答案 0 :(得分:0)
是。它应该工作。如果在为视图分配变量的函数中存在清理代码,则可能是将对象转换为数组。