PHP fonksiyonları yardım

3 Cevap php

I'm sorry for asking this question, but I'm not good in php (beginner). Could you please explain what $arg means in this piece of code? (it's from one of drupal modules)

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

Teşekkür ederim.

3 Cevap

Genel olarak, arg gibi ", argüman" için kısa "bir işleve bir argüman." Bu genel ve böylece yararsızdır, isim. Sadece yöntem imzası vermişti if (function node_add_review_load($arg)) hiçbir fikrim yok olurdu.

Neyse ki, tam fonksiyon gövdesi ile, biz amacını anlamak olabilir: node_id olduğunu. Bu fonksiyon $arg ile tespit düğümü yükler ve daha sonra yüklenen bir karşılık gelen satır bulmaya çalışır, ve sonra kod geçerli kullanıcı için ilgili inceleme bulmaya çalışır. Eğer başarılı olursa, fonksiyon dönecektir aynı node_id (yani $arg); aksi takdirde FALSE döndürür.

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

Bir programcı node_add_review_load kullandığı zaman () o işlevinde kullanılabilecek bir argüman iletebilirsiniz.

Argümanı $ arg farklı ise işlev başka bir değer döndürür.

Yani programcı yapabilirsiniz:

node_add_review_load("my argument");

//and the php automatically does:

$arg = "my argument";

//before executing the rest of the function.

Bu bir tartışma.

Örneğin,

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

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

Bunu geçerli olması için $ arg aramak zorunda değilsiniz. Örneğin,

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

Ve aynı şekilde çalışırdı. Sen argümanlar kullanışlı isimler vermelidir. Senin gibi birinin ona bakmak istiyorum ve bunun tam olarak ne anlama geldiğini tarafından karıştı çünkü bu durumda, argüman $ arg kötü programlama uygulamadır. Yani işlevleri yapmak durumlarda, hatırlıyor olacak kadar kullanışlı adları kullandığınızdan emin olun.