Почему я получаю "неожиданную ошибку t_public"?
public function getUserRoles()
{
public $query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
if ($query_run = mysql_query($query))
{
public $resp = array();
while ($query_row = mysql_fetch_array($query_run))
{
$roleID = $query_row['roleID'];
}
return $resp;
}
}
Я получаю сообщение об ошибке: Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_PUBLIC в /Applications/XAMPP/xamppfiles/htdocs/acltut/assets/php/class.acl.php в строке 34.Line 34 в этом случае будет третьей строкой, где он говорит "public $query".
Разве переменным нельзя давать "видимость" или "разрешения", такие как var / public / private / protected / и т. Д.?
и если это так, не будет ли следующая строка записана как:
if (public $query_run = mysql_query($this->query)) {}
Я запутался, когда вам нужно включить public / private / protected и ссылаться на переменную с помощью $this->, и когда вы можете просто создать переменную.
2 ответа
Открытые, защищенные и частные обеспечивают разрешение области видимости для функций класса (методов) и переменных-членов. Вы должны сделать что-то вроде:
class User
{
public $query;
public function getUserRoles()
{
$this->query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
}
}