php中 t_variable 是啥情况啊?大侠帮忙谢谢了!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中 t_variable 是啥情况啊?大侠帮忙谢谢了!相关的知识,希望对你有一定的参考价值。

参考技术A t_variable是php的一种内部标识,通常用在错误信息中。
出现该错误是因为在不该出现变量的地方出现了变量,或者变量名不合法。
检查一下是否没有写分号。

如果你用ZEND的话,一眼就能看出来了。本回答被提问者采纳
参考技术B 怎么没具体说明啊

意外的 T_VARIABLE 错误

【中文标题】意外的 T_VARIABLE 错误【英文标题】:Unexpected T_VARIABLE error 【发布时间】:2010-12-14 05:48:56 【问题描述】:

好的,我知道这是一个很常见的问题,但到目前为止我发现的所有解决方案都涉及缺少分号或花括号,我知道这两种情况都不适合我。

我有一个可以很好地处理这个变量赋值的类:

session.php:

<?php

   class session 
     ... 
     var $host = 'localhost';
     ...
   

?>

太好了。但我想将我的数据库详细信息放在另一个文件中,所以我这样做了:

db_creds.php:

<?php

   var $db_creds = array(
      'host' => 'localhost',
      ...
   );

?>

session.php

<?php

   include('db_creds.php');

   class session 
     ... 
     var $host = $db_creds['host'];
     ...
   

?>

然后给了我这个错误:Parse error: syntax error, unexpected T_VARIABLE in ../session.php on line 74,其中第 74 行是我的 var $host 分配。

我什至尝试在 session.php 中执行此操作,以确保问题不在包含中:

session.php

<?php

   # include('db_creds.php');

   class session 
     ...
     var $db_host = 'localhost';
     var $host = $db_host;
     ...
   

?>

... 但这只会引发与上述相同的错误。

谁能告诉我这里发生了什么?我已经束手无策了!

【问题讨论】:

【参考方案1】:

这里不允许使用变量,PHP中属性必须用常量初始化:

[…]这个初始化必须是一个常数值

[Source: php.net manual]

使用构造函数正确初始化值:

class session 
    var $host;

    function __construct() 
        $this->host = $db_creds['host'];
    

【讨论】:

啊,明白了。对 PHP 类和诸如此类的东西仍然很陌生。谢谢! +1【参考方案2】:

    类名中的第一个字母应为大写(会话类)

    你写了构造函数吗

    通过 $this->property 访问类属性

【讨论】:

-1 第1点是主观的,第2点和第3点与OP的问题无关。

以上是关于php中 t_variable 是啥情况啊?大侠帮忙谢谢了!的主要内容,如果未能解决你的问题,请参考以下文章

刚学使用MYSQL,登陆时提示错误信息1067,哪位大侠帮解答下是啥意思,谢谢

意外的 T_VARIABLE 错误

今天用金蝶K3软件看成本核算的计算过程,出现了这样的情况,那位大侠帮分析一下

各位大侠帮个忙,谁会编一个windows下的自动化执行脚本,要求可以自动访问一些特定的网页

解析错误:语法错误,第 4 行 E:\pemrograman\xampp\htdocs\upload_test\upload_media_test.php 中的意外 T_VARIABLE

我的delphi7在调试程序时出现问题啦,下面是截图,哪位大侠帮帮忙啊