2014-10-29 58 views
0

我写了一个PHP类连接到PayPal基于此教程 - http://www.smashingmagazine.com/2011/09/05/getting-started-with-the-paypal-api/在PHP类中定义条件变量

它使用硬编码的凭据时的伟大工程,但我的管理界面可以让我来启用或禁用沙箱模式并输入沙箱和实时帐户的凭据。

我的问题是,这是我第一次进入OOP,并且我在一个类内的条件语句中挣扎。例如,我需要在一个类中执行此操作,并在类中提供$ endpoint; $this->sandbox & $this->endpoint -

if($sandbox) { 
    $endpoint = 'https://api-3t.sandbox.paypal.com/nvp'; 
} else { 
    $endpoint = 'https://api-3t.paypal.com/nvp'; 
} 
+0

你是如何定义的变量? – 2014-10-29 09:41:11

回答

0

您应该在构造函数中声明变量,这样您可以将该变量设置在该类的范围之外。

​​

然后在你的脚本执行以下操作:

<?php 
include('/path/to/Paypal.php'); 

public function checkSandbox() { 
    //check if sandbox is enabled or not 
    if($enabled) 
     return true; 
    return false; 
}  

$sandbox = checkSandbox(); 

$paypal = new Paypal($sandbox); 
... 
... 
+0

谢谢尼古拉斯。如果可能的话,我宁愿在类中定义$ endpoint和$ sandbox,因为我不想每次创建新实例时都要定义它们。 – chips 2014-10-29 10:17:14

+0

@chips从我对你的问题的理解中,你至少需要在类之外声明$ sandbox,因为从类内部无法知道它是否被启用。所以你可以从构造函数中省略$ endpoint变量,但$ sandbox需要保留。课程不是程序性的,他们不能确定是否有某些东西被检查或未检查。 – 2014-10-29 10:30:42

+0

@chips我也调整了我的答案 – 2014-10-29 10:35:16

0

oop类变量一样访问。你应该先在课堂上定义它们。

public $sandbox; 
public $endpoint;