我是一个C#的家伙,试图将我的一些OOP理解转化为php。我正试图制作我的第一类物体,并且正在打几个故障。
这是课程的开头:
<?php
require("Database/UserDB.php");
class User {
private var $uid;
private var $username;
private var $password;
private var $realname;
private var $email;
private var $address;
private var $phone;
private var $projectArray;
public function _construct($username) {
$userArray = UserDB::GetUserArray($username);
$uid = $userArray['uid'];
$username = $userArray['username'];
$realname = $userArray['realname'];
$email = $userArray['email'];
$phone = $userArray['phone'];
$i = 1;
$projectArray = UserDB::GetUserProjects($this->GetID());
while($projectArray[$i] != null) {
$projectArray[$i] = new Project($projectArray[$i]);
}
UserDB.php是我将所有静态函数与此User Class的数据库交互的地方。我在使用var时遇到错误,我感到很困惑。我知道我不必使用var,或者根本没有声明变量,但我觉得这样做更好。
错误是“意外的T_VAR,期待T_VARIABLE”
当我简单地从声明中删除var时,它起作用。这是为什么?
答案 0 :(得分:11)
你正在混淆。 之前 PHP 5是
var $uid;
从 PHP 5开始
private $uid; // or
protected $uid; // or
public $uid;
中阅读相关内容
注意:为了保持与PHP 4的向后兼容性,PHP 5仍然会接受在属性声明中使用关键字
var
而不是(或除了){{ 1}},public
或protected
。但是,不再需要private
。在从5.0到5.1.3的PHP版本中,var
的使用被认为已弃用,并且会发出E_STRICT警告,但自PHP 5.1.3起,它不再被弃用,也不会发出警告。 如果您使用var
而不是var
,public
或protected
之一声明属性,则PHP 5会将该属性视为已声明为公共属性。