2009-08-17 14 views
1

Es tut mir leid für diese Frage, aber ich bin nicht gut in PHP (Anfänger). Könnten Sie bitte erklären, was $ arg in diesem Codeabschnitt bedeutet? (es ist von einem der drupal Module)PHP-Funktionen helfen

function node_add_review_load($arg) { 
    global $user; 
    $add_review = FALSE; 
    $current_node = node_load($arg); 
    $type =$current_node->type; 
    $axes_count = db_result(db_query("SELECT COUNT(*) FROM {nodereview_axes} WHERE node_type='%s'", $type)); 
    if (variable_get('nodereview_use_' . $type, 0) && $axes_count) { 
     $add_review = db_result(db_query("SELECT n.nid FROM {node} n INNER JOIN {nodereview} nr ON n.nid=nr.nid WHERE uid=%d AND reviewed_nid=%d", $user->uid, $arg)); 
    } 
    return $add_review ? FALSE : $arg; 
} 

Vielen Dank.

+2

Es gibt keine $ Kunst in diesem Stück Code ... meintest du $ arg? –

+1

gab es einen Fehler. Es ist $ arg. –

+1

Willkommen bei SO. Ich sehe, du bist neu. Klicken Sie unter den Tags des Beitrags auf "Bearbeiten". Ein weiterer Hinweis: Wenn Sie alle Benutzerprofilfelder ausfüllen, erhalten Sie eine nette Belohnung. –

Antwort

0

Im Allgemeinen ist arg die Abkürzung für "Argument", wie in "Argumente an eine Funktion." Es ist ein generischer und daher wenig hilfreicher Name. Wenn Sie nur die Methodensignatur angegeben hätten (function node_add_review_load($arg)), hätten wir keine Ahnung.

Glücklicherweise können wir mit dem vollständigen Funktionskörper seinen Zweck ableiten: es ist die node_id. Diese Funktion lädt den durch $arg identifizierten Knoten und versucht dann, eine entsprechende Zeile zu finden, die geladen ist, und der Code versucht dann, eine entsprechende Überprüfung für den aktuellen Benutzer zu finden. Wenn dies erfolgreich ist, wird die Funktion denselben node_id (d. H. $arg) zurückgeben; Andernfalls wird FALSE zurückgegeben.

+0

Nun, es ist ein hilfreicher Name. Wenn Sie eine Meinung abgeben, müssen Sie argumentieren. Also grundsätzlich: Ich benutze node_add_review_load, weil I $ arg. –

5

http://nl.php.net/manual/en/functions.arguments.php

Wenn ein Programmierer verwendet node_add_review_load(), er kann das Argument übergeben, die in der Funktion verwendet werden kann.

Die Funktion gibt einen anderen Wert zurück, wenn das Argument $ arg anders ist.

So kann der Programmierer dies tun:

node_add_review_load("my argument"); 

//and the php automatically does: 

$arg = "my argument"; 

//before executing the rest of the function. 
0

Es ist ein Argument.

Beispiel,

// function 
function sum($arg1, $arg2) 
{ 
return $arg1+$arg2; 
} 

// prints 4 
echo sum(2,2); 

Sie müssen es nicht $ arg fordern sie ihre Gültigkeit. Zum Beispiel

function sum($sillyWilly, $foxyFox) 
{ 
return $sillyWilly+$foxyFox; 
} 

Und es würde das gleiche funktionieren. Sie sollten Argumente nützliche Namen geben. In diesem Fall ist das Argument $ arg eine schlechte Programmierpraxis, weil jemand wie du es betrachten und verwirrt werden würde, was genau es bedeutet. In Fällen, in denen Sie Funktionen ausführen, sollten Sie daher sinnvolle Namen verwenden, damit Sie sich daran erinnern können.