2010-12-04 18 views
0

Ich bekomme immer "Parse Fehler: Syntaxfehler, unerwartet '.', Erwartet ')'" in der ersten Zeile habe ich versucht, die Zeichenfolge zu brechen, aber dann nicht richtig eingebettet . Kann jemand das sortieren?Parse-Fehler: Syntaxfehler

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

Sie verwenden den Konkerationsoperator ('.'). Das wird nicht in Klassenmitgliedsvariablen funktionieren. Verwenden Sie stattdessen eine geeignete Konstruktorfunktion. – Lekensteyn

Antwort

3

Sie können Daten in einer Klassenvariablendefinition auf diese Weise nicht verketten. Der Initialisierungswert muss eine Konstante sein.

Versuchen Sie folgendes:

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>'); 
} 

Oder die Verkettung abzustreifen und es einfach eine mehrzeilige Zeichenfolge machen. Ich bin nicht sicher, warum Sie das nicht tun, da es bereits aus mehrzeiligen Strings besteht.