PHP "ошибка синтаксического анализа, ожидая`T_STRING' " - Пожалуйста, помогите с кодом
Я пытаюсь построить динамический php-сайт, используя принципы MVC. Я использую WAMP на Win XP.
Вот код:
Index.php:
<?php
require_once("User.php");
session_start();
include ("Header.php");
include ("Footer.php");
?>
header.php:
<?php
echo '<?xml version="1.0" encoding="utf-8"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title><?php echo "temp"; ?></title>
<link rel="stylesheet" media="screen" type="text/css" title="StyleSheetProjet" href="StyleSheetProjet.css" />
</head>
<body>
<div class="connectionStatus">
<?php
?>
</div>
footer.php:
</body>
</html>
User.php:
<?php
class User {
private $userName;
private $hashedPassword;
private $firstName;
private $lastName;
private $userEmail;
function $getUserName() {
return $this->userName;
}
}
?>
Этот код вызывает ошибку php в строке 9 User.php, т. Е. При объявлении функции get. Сообщение об ошибке:
Parse error: parse error, expecting `T_STRING' in C:\wamp\www\Projet\User.php on line 9
Помощь будет очень ценится....
Спасибо,
JDelage
5 ответов
function $getUserName()
должно быть
function getUserName()
После function
Ключевое слово, PHP ожидает пробел, за которым следует identifier
(имя функции). Но в вашем случае он находит variable
и это вызывает ошибку разбора.
Внутренне идентификатор называется T_STRING
и переменная называется T_VARIABLE
, Некоторые интерпретаторы PHP бросают:
Ошибка разбора: синтаксическая ошибка, неожиданный T_VARIABLE, ожидаемый T_STRING ....
Другие, как в вашем случае, просто говорят:
Ошибка разбора: ошибка разбора, ожидание `T_STRING' ....
Вы не можете использовать подстановку переменных при объявлении функций.
Это:
function $getUserName()
должно быть так:
function getUserName()
У вас есть опечатка в названии вашей функции. В настоящее время это $getUserName
где это должно быть getUserName
(без $).
Имена функций не нуждаются в знаке $ в начале.
Сделай так:
function getUserName() {
return $this->userName;
}