2009-08-17 4 views
1

Je suis désolé de poser cette question, mais je ne suis pas bon en PHP (débutant). Pourriez-vous expliquer ce que $ arg signifie dans ce code? (il vient de l'un des modules drupal)Fonctions PHP aide

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; 
} 

Merci.

+2

Il n'y a pas de $ art dans ce morceau de code ... voulez-vous dire $ arg? –

+1

il y avait une erreur. C'est $ arg. –

+1

Bienvenue sur SO. Je vois que tu es nouveau. Cliquez sur "modifier" sous les balises de la publication. Un autre indice: si vous remplissez tous les champs du profil de l'utilisateur, vous obtiendrez une belle récompense. –

Répondre

0

En général, arg est l'abréviation de "argument", comme dans "un argument à une fonction." C'est un nom générique, et donc inutile. Si vous aviez juste donné la signature de la méthode (function node_add_review_load($arg)), nous n'en aurions aucune idée.

Heureusement, avec le corps de la fonction complète, nous pouvons déduire son but: c'est l'id_noeud. Cette fonction charge le noeud identifié par $arg, puis essaie de trouver une ligne correspondante qui est chargée et que le code tente ensuite de trouver une révision correspondante pour l'utilisateur actuel. En cas de succès, la fonction retournera cette même node_id (c'est-à-dire, $arg); sinon, il retournera FALSE.

+0

Eh bien, c'est un nom utile. Quand vous donnez une opinion, vous devez donner un argument. Donc basiquement: j'utilise node_add_review_load, parce que $ arg. –

5

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

Quand un programmeur utilise (node_add_review_load), il peut passer l'argument qui peut être utilisé dans la fonction.

La fonction renvoie une autre valeur si l'argument $ arg est différent.

Ainsi, le programmeur peut faire ceci:

node_add_review_load("my argument"); 

//and the php automatically does: 

$arg = "my argument"; 

//before executing the rest of the function. 
0

C'est un argument.

Exemple,

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

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

Vous ne devez pas appeler $ arg pour qu'il soit valide. Par exemple,

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

Et cela fonctionnerait de la même manière. Vous devriez donner des arguments aux noms utiles. Dans ce cas, l'argument $ arg est une mauvaise pratique de programmation parce que quelqu'un comme vous le verrait et serait confus par ce que cela signifie exactement. Donc, dans les cas où vous faites des fonctions, assurez-vous d'utiliser des noms utiles afin que vous vous souveniez.