-2

これが PHPUnit のカスタム関数です。

protected function checkIfSetGlobalTest($VARIABLE, $ASSIGNMENT) {
    global $VARIABLE;
    if(!isset($VARIABLE) == true) {
        $VARIABLE = $ASSIGNMENT;
    }
}

これがその関数を呼び出すときです。

protected function setUp() {
    $this->checkIfSetGlobalTest("$URL", "http://google.com");
    $this->setBrowser("*firefox");
    $this->setBrowserUrl($URL);

}

変数が設定されているかどうかを確認し、設定されていない場合は、その URL をその変数に割り当てます。以下のコードのように。

global $URL;
if(!isset($URL) == true) {
    $URL = "http://google.com";
}
4

2 に答える 2

1

可変変数が必要なようです。

この機能は次のように使用できます。

protected function checkIfSetGlobalTest($VARIABLE, $ASSIGNMENT) {
    $VARIABLE = ltrim($VARIABLE, '$');
    global $$VARIABLE;
    if(!isset($$VARIABLE) == true) {
        $$VARIABLE = $ASSIGNMENT;
    }
}

または単に$GLOBALS スーパーグローバルを使用します。

protected function checkIfSetGlobalTest($VARIABLE, $ASSIGNMENT) {
    $VARIABLE = ltrim($VARIABLE, '$');
    if(!isset($GLOBALS[$VARIABLE]) == true) {
        $GLOBALS[$VARIABLE] = $ASSIGNMENT;
    }
}
于 2012-10-16T19:19:42.847 に答える
0

関数内で最初の変数を変更するには、参照によって最初の変数を渡す必要があります。

protected function checkIfSetGlobalTest(&$VARIABLE, $ASSIGNMENT)

また、渡すときに引用符で囲まれた変数を渡さないでください。そうしないと、値が渡されます。

$this->checkIfSetGlobalTest($URL, "http://google.com");

globalこれらを行うと、関数で使用して設定されているかどうかを確認する必要がなくなります。

于 2012-10-16T19:17:08.123 に答える