2010-12-04 113 views
0

我一直在第一行收到「解析錯誤:語法錯誤,意外','期待')'」,我試過打斷了字符串,但沒有正確嵌入。任何人都知道如何對此進行排序?解析錯誤:語法錯誤

protected $_embedHTML = array('youtube' => '<object width="425" height="350" 
              type="application/x-shockwave-flash" '. 
              'data="http://www.youtube.com/'.$value.'">'. 
              '<param name="movie" value="http://www.youtube.com/'.$value.'"> 
              </param>'. 
              '<!--[if IE]>'. 
              '<embed src="http://www.youtube.com/'.$value.'"'. 
              'type="application/x-shockwave-flash"'. 
              'wmode="transparent" width="425" height="350" />'. 
              '<![endif]-->'. 
              '</object>'); 
+0

您正在使用concanation運算符(`.`)。這在類成員變量中不起作用。改爲使用approperiate構造函數。 – Lekensteyn 2010-12-04 22:26:07

回答

3

你不能以這種方式連接類變量定義中的數據。初始化值必須是一個常量。

試試這個:

protected $_embedHTML; 

function __construct() { 
    $this->_embedHTML = array('youtube' => '<object width="425" height="350" 
     type="application/x-shockwave-flash" '. 
     data="http://www.youtube.com/'.$value.'">'. 
     '<param name="movie" value="http://www.youtube.com/'.$value.'"> 
     </param>'. 
     '<!--[if IE]>'. 
     '<embed src="http://www.youtube.com/'.$value.'"'. 
     'type="application/x-shockwave-flash"'. 
     'wmode="transparent" width="425" height="350" />'. 
     '<![endif]-->'. 
     '</object>'); 
} 

或者剝離級聯和簡單地使它成爲一個多行字符串。我不確定你爲什麼不這樣做,因爲它已經由多行字符串組成。