在课堂上获取数组信息

Got*_*chi -3 php php-5.3

我正在尝试使用外国支付系统,但在实施这个系统时遇到了困难.

我试图修改的类看起来像这样:

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失败了:/

不管怎么说,还是要谢谢你!

Mat*_*hai 6

有多种解决方案.一种解决方案可能是添加一个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)