नहीं। यह संभव नहीं है।
Zend_Db_Select
विधि श्रृंखला के अंत का पता नहीं लगाता है। आप जिस विधि को चेन करते हैं वह $this
लौटाता है और जब आप चेनिंग बंद करते हैं, तो आप चेनिंग बंद कर देते हैं। कोई जादू नहीं है जो कहता है: अरे, यह चेन श्रृंखला का अंत है।
उदाहरण: सभी तरीकों return $this
, तो $foo
तो $this
फिर chain()
का परिणाम शामिल होंगे
$foo = $this->is()->a()->method()->chain();
हैं, तो। आप वहां से चेनिंग जारी रख सकते हैं। बेशक, विधियां $this
लौटने के अलावा अन्य चीजें भी करेंगी, उदाहरण के लिए आंतरिक स्थिति सेट करें - लेकिन वास्तव में यह लगभग Method chaining है।
यदि आपके कोड को यह पता होना चाहिए कि यह एक श्रृंखला के अंत तक पहुंच गया है, तो आपको इसे चलाने से पहले चेन सेट करना होगा, उदा। Chain of Responsibility pattern।
शायद मुझे आपको विश्वास करने की ज़रूरत है लेकिन आप यह कैसे समझा सकते हैं कि Zend_Db_Select बस इसे कर रहा है? – fabrik
@fabrik अपडेट देखें – Gordon
ऐसा लगता है कि मैं इसे फिर से अनदेखा कर रहा हूं। तो यह एक (Zend_Db_Select) सबसे खराब उदाहरण था क्योंकि यह कुछ भी नहीं लाता है, यह केवल क्वेरी बनाता है। क्या मैं सही हू? – fabrik