मैं कक्षाओं के एक सेट के लिए एक इंटरफ़ेस का उपयोग कर रहा हूं। मुझे एक समस्या है हालांकि मैं इंटरफ़ेस में अनुमति देने के लिए visibility
की आवश्यकता है (वह है: public
, protected
और private
)।PHP इंटरफेस: किसी भी दृश्यता निर्दिष्ट करें
मैं माता पिता विधि केवल संरक्षित किया जाना है और मैं बच्चे को विधि की जरूरत निजी होने की जरूरत है, लेकिन मैं कह
Fatal error: Access type for interface method Baz::qux() must be omitted in <the file with Baz/Bar>."
मैं inteface Baz
में अन्य दृश्यता तरीकों को निर्दिष्ट और public
को दूर करने की कोशिश की त्रुटि मिलती है, लेकिन वे सभी असफल रहे।
क्या इंटरफ़ेस के माध्यम से मैं इसे कर सकता हूं? यदि नहीं, तो क्या कोई तरीका है कि मैं इसे abstract
घोषित कर सकता हूं, मैंने कोशिश की, लेकिन असफल रहा।
interface Baz
{
public function qux();
}
class Bar implements Baz
{
protected function qux()
{
//do foo
}
}
class Foo extends Bar implements Baz
{
private function qux()
{
parent::qux();
}
}
जब भी आपको ऐसी चीज की आवश्यकता होती है, तो आमतौर पर यह एक मजबूत संकेत है कि आपकी अवधारणा में कुछ गड़बड़ है। – Niko
मेरी माफ़ी, अब मुझे यह पता है। सभी जानकारी के लिए धन्यवाद। – PolishHurricane
एक इंटरफ़ेस केवल एक वायरफ़्रेम है, इसलिए आप –