PHP“解析错误,需要‘T_STRING’” ” - 请帮助编写代码

发布于 2024-09-17 10:12:46 字数 1394 浏览 8 评论 0原文

我正在尝试使用 MVC 原则构建一个动态 php 网站。我在 Win XP 上使用 WAMP。

代码如下:

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

该代码导致 User.php 第 9 行(即 get 函数声明处)出现 php 错误。错误消息是:

Parse error: parse error, expecting `T_STRING' in C:\wamp\www\Projet\User.php on line 9

非常感谢您的帮助...

谢谢,

JDelage

I'm trying to build a dynamic php site using MVC principles. I'm using WAMP on Win XP.

Here's the code:

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

This code causes a php error on line 9 of User.php, i.e., at the get function declaration. The error message is:

Parse error: parse error, expecting `T_STRING' in C:\wamp\www\Projet\User.php on line 9

Help would be very much appreciated....

Thanks,

JDelage

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

吻风 2024-09-24 10:12:46
function $getUserName()

应该

function getUserName()

function 关键字之后,PHP 需要一个空格,后跟一个标识符(函数名称)。但在您的情况下,它找到一个变量,这会导致解析错误

在内部,标识符称为T_STRING,变量称为T_VARIABLE。一些 PHP 解释器会抛出:

解析错误:语法错误,意外的 T_VARIABLE,期望 T_STRING ....

其他,正如您的情况一样,只需说:

解析错误:解析错误,需要 `T_STRING' ....

function $getUserName()

should be

function getUserName()

After the function keyword, PHP expects a whitespace followed by an identifier(function name). But in your case it finds a variable and this causes a parse error.

Internally an identifier is called T_STRING and a variable is called T_VARIABLE. Some PHP interpreters throw:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING ....

Others, as in your case just say:

Parse error: parse error, expecting `T_STRING' ....

已下线请稍等 2024-09-24 10:12:46

您的函数名称有拼写错误。目前它是 $getUserName ,它应该是 getUserName (没有 $)。

You have typo in your function name. Currently it's $getUserName where it should be getUserName (without $).

找回味觉 2024-09-24 10:12:46

声明函数时不能使用变量替换。

这个:

function $getUserName()

应该是这个:

function getUserName()

You can't use variable substitution when declaring functions.

This:

function $getUserName()

should be this:

function getUserName()
娇妻 2024-09-24 10:12:46

函数$getUserName()

function$getUserName()

走过海棠暮 2024-09-24 10:12:46

函数名称开头不需要 $ 符号。

这样做:

function getUserName() {
  return $this->userName;
}

Function names does not need $ sign at the beginning.

Do it like that:

function getUserName() {
  return $this->userName;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文