无法创建Spldoublylinkedlist

时间:2014-01-21 06:33:36

标签: java php collections linked-list

我是一名新手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

任何人都可以告诉我我哪里错了?最早的回复将受到高度赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在声明属性时,您需要指定它是publicprivate还是protected(或其他一些选项,但这些选项最有可能)。并且您无法在声明中分配new SplDoublyLinkedList(),因此您需要在构造函数中处理该初始化。

class Award {
    protected $_dll;

    public function __construct()
    {
        $_dll = new SplDoublyLinkedList();
    }
}