2015-09-19 10 views
7

मैं PHP 7 की वापसी प्रकार घोषणाएं (मैं इस उद्देश्य के लिए विंडोज़ पर PHP 7RC3 का उपयोग कर रहा हूं) का प्रयास करना चाहता था।PHP 7 रिटर्न प्रकार घोषणाएं - घातक त्रुटि

बहुत सरल कुछ के साथ शुरू करने के लिए चाहता था:

function getme() : integer 
{ 
    return 434; 
} 
echo getme(); 

लेकिन यह मुझे एक गंभीर त्रुटि देता है:

Fatal error: Uncaught TypeError: Return value of getme() must be an instance of integer, integer returned

तो मैं भी वापसी मान कास्ट करने के लिए कोशिश की, लेकिन return (integer) 434; या return (int) 434; देता है मुझे एक ही त्रुटि;

अंत में मैं भी करने की कोशिश की:

function getme() : integer 
{ 
    $i = 434; 
    return (integer) $i; 
} 
echo getme(); 
एक ही परिणाम के साथ

मैं क्या गलत कर रहा हूं?
या मैंने यहां क्या गलत समझा है?

किसी स्पष्टीकरण और सहायता के लिए धन्यवाद!

अद्यतन
यही कारण है कि मैंने सोचा कि मैं integer बजाय int (टोबी एलन करने के लिए विशेष ध्यान दें) का इस्तेमाल किया था:

https://wiki.php.net/rfc/return_types से:

Examples of Invalid Use (...)

// Int is not a valid type declaration 

function answer(): int { 
    return 42; 
} 
answer(); 
+1

यह 'integer', नहीं एक नंबर नाम के एक वर्ग की तलाश में है। – melpomene

+0

@melpomene धन्यवाद, यही वह है जिसे मैंने किसी भी तरह सोचा था, क्योंकि यह 'पूर्णांक का उदाहरण' –

+0

निश्चित रूप से PHP 7 दस्तावेज़ वेबसाइट पर दस्तावेज़ का यह मूल स्तर होना चाहिए? –

उत्तर

13

No new reserved words are added. The names int, float, string and bool are recognised and allowed as type declarations, and prohibited from use as class/interface/trait names (including with use and class_alias).

से: https://wiki.php.net/rfc/scalar_type_hints_v5

टीएल/डॉ:

function getme() : int 
{ 
    return 434; 
} 

echo getme(); 
+0

धन्यवाद! मुझे अभी पता चला है कि रिटर्न प्रकार के रूप में 'int' का उपयोग करना। ऐसा लगता है जैसे मैंने दस्तावेज़ों में 'पूर्णांक' के बारे में कुछ गलत समझा। जैसे ही मैं सक्षम हूं, आपके उत्तर को स्वीकार करूंगा। –

+0

अच्छा होगा अगर आप अपने उद्धरण के स्रोत में एक लिंक जोड़ सकते हैं! धन्यवाद। –

+1

मैंने जवाब अपडेट किया है, मुझे खुशी है कि मैंने मदद की –

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