2011-01-12 16 views
11
class Employee 
{ 
    public static $favSport = "Football"; 

    public static function watchTV() 
    { 
     echo "Watching ".static::$favSport; 
    } 
} 

class Executive extends Employee 
{ 
    public static $favSport = "Polo"; 
} 

echo Executive::watchTV(); 

Parse error: syntax error, unexpected T_STATIC on line 7पार्स त्रुटि: सिंटैक्स त्रुटि, अप्रत्याशित T_STATIC

मैं क्यों मिलता है पार्स त्रुटि & और इसे ठीक करने के लिए? धन्यवाद!

+0

phpversion की वापसी() क्या है पुराना है कि के लिए स्थिर के स्थान पर स्वयं का इस्तेमाल किया? – powtac

उत्तर

26

पार्स यहाँ त्रुटि:

echo "Watching ".static::$favSport; 

है क्योंकि late static bindings पीएचपी v5.3 में पेश किए गए। आपका PHP संस्करण (< 5.3) static::$favSport को पहचान नहीं करता है।

वहाँ किसी भी तरह से मैं 5.3 से अधिक पुराने, अन्य वस्तु विरासत के साथ की तुलना में (जो वास्तव में एक ठीक से प्रति के बाद से यह से कोई लेना देना नहीं है नहीं है PHP के लिए इसे ठीक करने के बारे में सोच सकते हैं नहीं है static) ...

+0

आह, उचित बिंदु। +1 –

+0

@ पेक्का: PHP 4 'सार्वजनिक' कीवर्ड पर चकित होगा :) – BoltClock

+0

ठीक है धन्यवाद - यह सही है :) – easyrider

संबंधित मुद्दे

 संबंधित मुद्दे