तो मुझे पता है कि मैं php7 में वापसी प्रकार संकेत दे सकता हूं।PHP वापसी प्रकार संकेत, वस्तु या एक बुलियन?
function getUser($pdo, $username) : User
{
}
जहां उपयोगकर्ता वस्तु लौटाए जाने है: मैं के साथ एक वस्तु वापसी संकेत कर सकते हैं।
हालांकि, अगर उपयोगकर्ता एसक्यूएल में नहीं पाया जाता, लौटने एक उपयोगकर्ता वस्तु के स्थान पर 'false'
देता है:
Uncaught TypeError: Return value of UserFind::findUser() must be an instance of User, boolean returned
लेकिन क्या एसक्यूएल नहीं उपयोगकर्ता मिल सकता है? यदि उपयोगकर्ता मौजूद नहीं है तो मैं एक बूलियन, झूठी कैसे लौटा सकता हूं? क्या मुझे इस परिदृश्य में वापसी प्रकार को इंगित करना चाहिए?
संपादित करें: मैंने दूसरे प्रश्न को देखा, 'PHP 7 में निरर्थक रिटर्न प्रकार' और जब मेरा प्रश्न लगभग समान है, तो मैं यह पूछकर अपना प्रश्न विस्तारित करना चाहता हूं कि दो प्रकारों में से एक को वापस करने का कोई तरीका होगा या नहीं । उदाहरण के लिए ऑब्जेक्ट या स्ट्रिंग वापस करें यदि ऑब्जेक्ट कोई भी नहीं है?
संभावित डुप्लिकेट http://stackoverflow.com/questions/33608821/nullable-return-types-in- कहते जारी php7) –
मुझे हमेशा इस अजीब तरह के प्रश्न मिलते हैं, क्योंकि मेरी पहली प्रतिक्रिया हमेशा "अपवाद का उपयोग करती है"। और फिर मुझे याद है कि अपवाद कई अन्य चीजों की तरह हैं, तथाकथित "रेडहेड स्टेपचिल्ड" PHP में। –
@ IgnacioVazquez-Abrams PHP आमतौर पर आम तौर पर अपवादों के लिए एक और दृष्टिकोण नियुक्त करता है। उदाहरण के लिए पाइथन उन्हें लगभग हर चीज़ के लिए उपयोग करता है। PHP नहीं करता है। आम तौर पर सामान्य रूप से धीमी गति से चलने वाले मामले मामले में मदद नहीं करते हैं। – bwoebi