Yii2:如何将对象传递给模块
Yii2: how to pass object to module
假设我正在使用 Yii2 制作电子商务应用程序,并希望将所有支付方式实现为模块。
在用户确认订单后,我想将用户重定向到付款流程。我的 CheckoutController 中有以下代码:
if($order->save())
{
$module = Yii::$app->getModule('payment');
$module->init();
}
此时我想与 payment
模块共享当前订单 $order
实例。
这样做的最佳方法是什么?
我查看了文档,但没有找到任何相关内容。
谢谢!
在您的支付模块中创建一个方法 setOrder($order)
来设置当前订单,检查它是否是 Order
的实例等等。
创建另一个类似 process()
的方法来进行支付处理。如果$order
设置正确,你应该在这里检查。
然后您可以在 CheckoutController
:
if ($order->save())
{
$module = Yii::$app->getModule('payment');
$module->init(); // I believe yii calls this automatically
$module->setOrder($order);
$module->process();
}
假设我正在使用 Yii2 制作电子商务应用程序,并希望将所有支付方式实现为模块。
在用户确认订单后,我想将用户重定向到付款流程。我的 CheckoutController 中有以下代码:
if($order->save())
{
$module = Yii::$app->getModule('payment');
$module->init();
}
此时我想与 payment
模块共享当前订单 $order
实例。
这样做的最佳方法是什么?
我查看了文档,但没有找到任何相关内容。
谢谢!
在您的支付模块中创建一个方法 setOrder($order)
来设置当前订单,检查它是否是 Order
的实例等等。
创建另一个类似 process()
的方法来进行支付处理。如果$order
设置正确,你应该在这里检查。
然后您可以在 CheckoutController
:
if ($order->save())
{
$module = Yii::$app->getModule('payment');
$module->init(); // I believe yii calls this automatically
$module->setOrder($order);
$module->process();
}