【问题标题】:PHP "parse error, expecting `T_STRING' " - Please help with codePHP“解析错误,期待`T_STRING'” - 请帮助代码
【发布时间】:2010-09-05 06:59:45
【问题描述】:

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

代码如下:

索引.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>

页脚.php:

</body>
</html>

用户.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

【问题讨论】:

    标签: php wamp


    【解决方案1】:
    function $getUserName()
    

    应该是

    function getUserName()
    

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

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

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

    其他的,就像你的情况一样:

    解析错误:解析错误,期待 `T_STRING' ....

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        这个:

        function $getUserName()
        

        应该是这样的:

        function getUserName()
        

        【讨论】:

          【解决方案4】:

          function<strike>$getUserName()

          【讨论】:

            【解决方案5】:

            函数名不需要以$开头。

            这样做:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-09-22
              • 1970-01-01
              • 2023-03-28
              • 2016-03-05
              • 1970-01-01
              • 2013-07-15
              • 1970-01-01
              • 2017-06-20
              相关资源
              最近更新 更多