我是一名新手PHP开发人员,最近从Java开发人员迁移过来。对于我的初始教程,我已经开始在网上执行示例,演示PHP程序。
我目前正在练习PHP框架和特别是SplDoubleLinkedList提供给我们的PHP集合的程序。
我有一个名为Awards的课程,我正在尝试创建一个字段_dll,类型为SplDoubleLinkedList。
我的奖项类的源代码如下:
Awards.php
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* This is the Award class
*
* @author Razor
*/
class Award {
$_dll = new SplDoublyLinkedList();
function executeCode() {
$_dll->push(2);
$_dll->push(3);
$_dll->unshift(5);
var_dump($_dll);
}
}
这里的问题是,尽管从here复制粘贴代码,但编译器在我声明$_dll
字段的行上返回了语法错误。错误是unexpected: variable $_dll. expected: function, const, use, var, }, VAR_COMMENT, static, abstract, final, private, protected, public
任何人都可以告诉我我哪里错了?最早的回复将受到高度赞赏。提前谢谢。
答案 0 :(得分:0)
在声明属性时,您需要指定它是public
,private
还是protected
(或其他一些选项,但这些选项最有可能)。并且您无法在声明中分配new SplDoublyLinkedList()
,因此您需要在构造函数中处理该初始化。
class Award {
protected $_dll;
public function __construct()
{
$_dll = new SplDoublyLinkedList();
}
}