好的,我知道这是一个很常见的问题,但到目前为止我发现的所有解决方案都涉及缺少分号或大括号,我知道这两种情况都不适用于我。
我有一个使用此变量赋值FINE的类:
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;
...
}
?>
...但是这只会抛出与上面相同的错误。
谁能告诉我这里发生了什么?我的智慧结束了!
答案 0 :(得分:9)
此处不允许使用变量,属性必须由PHP中的常量初始化:
[...]此初始化必须是常量值
使用构造函数正确初始化值:
class session {
var $host;
function __construct() {
$this->host = $db_creds['host'];
}
}
答案 1 :(得分:-1)
类名中的第一个字母应为大写(类Session)
你写了一个构造函数
类属性 醇>