У меня есть следующий класс:
class MySQLDatabase
{
private $connection;
public $last_query;
private $magic_quotes_active;
private $real_escape_string_exits;
public function __construct()...
// 1. OPENS connection and selects a DB
public function open_connection()...
// 2. PERFORMS a DB query
public function query($sql)
{
$this->last_query = $sql;
$result = mysql_query($sql, $this->connection);
$this->confirm_query($result);
return $result;
}
....
ПРИМЕЧАНИЕ: Я включил несколько строк, которые являются посторонними для моего вопроса, просто для придания некоторого контекста, они обозначаются ...
Сосредоточив внимание на public function query($sql)
, я смущен тем, что вижу.
- переменная
$sql
в методе не определена нигде, кроме как здесь, и я считаю, что это переменная параметра, поскольку в моей среде IDE она немного отличается от других переменных. Что это значит и почему это отличается?
$this->last_query
также является переменной, но ее необходимо определить внутри класса, как видно в верхней части самого класса. Почему этот должен быть определен так, а переменная $sql
- нет?
- И, наконец,
$result
представляется стандартной переменной, а не «переменной параметра» - я надеюсь, что я использую правильный язык. Почему этот также не определен? Почему так используется в этом классе?
Я действительно надеюсь понять различия между этими парнями, чтобы лучше разобраться в их использовании.
Заранее спасибо за помощь!