我正在尝试使用外国支付系统,但在实施这个系统时遇到了困难.
我试图修改的类看起来像这样:
class MyShop extends Shop {
var $currency = "EUR";
}
Run Code Online (Sandbox Code Playgroud)
我通过执行它
$myShop = new MyShop('user', 'pass', TRUE, TRUE);
$result = $myShop->pay();
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:如何在这个类中从$ _POST获取变量?我试图以这种方式动态货币动态..
我已经尝试过这里发布的解决方案:如何从帖子中获取数据到类
但我想我在OOPhp失败了:/
不管怎么说,还是要谢谢你!
有多种解决方案.一种解决方案可能是添加一个setter:
class MyShop extends Shop
{
var $currency = "EUR";
public function setCurrency($currency)
{
$this->currency = $currency;
}
}
$myShop = new MyShop('user', 'pass', TRUE, TRUE);
$myShop->setCurrency($_POST['currency']);
$result = $myShop->pay();
Run Code Online (Sandbox Code Playgroud)
注意:您可以访问$_POST任何类方法中的任何变量.也就是说,如果您愿意,可以从构造函数中设置它:
class MyShop extends Shop
{
var $currency = "EUR";
public function __construct($user, $pass, $param1, $param2)
{
parent::__construct($user, $pass, $param1, $param2);
if (isset($_POST['currency'])) {
$this->currency = $_POST['currency'];
}
}
}
$myShop = new MyShop('user', 'pass', TRUE, TRUE);
$result = $myShop->pay();
Run Code Online (Sandbox Code Playgroud)