2014-01-21 46 views
0

我是一名新手PHP開發人員,最近從Java開發人員遷移過來。對於我最初的教程,我已經開始執行Web上提供的示例,演示PHP程序。無法創建Spldoublylinkedlist

我目前正在練習PHP框架和SplDoubleLinkedList提供給我們的PHP集合的程序。

我有一個名爲獎的類,我試圖創建一個字段,_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

聲明屬性時,您需要指定是否爲public,privateprotected(或某些其他選項,但這些選項最有可能)。你不能在聲明中分配new SplDoublyLinkedList(),所以你需要在構造函數中處理初始化。

class Award { 
    protected $_dll; 

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

非常感謝您的回覆。這真是太愚蠢了,我沒有注意到這一點。 LOL = D – Razor