2014-10-29 70 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;