क्या जादू तरीके PHP में सर्वोत्तम अभ्यास हैं?क्या जादू तरीके PHP में सर्वोत्तम अभ्यास हैं?
उत्तर
मुझे नहीं लगता कि जादू के तरीके सबसे अच्छे या सबसे खराब अभ्यास हैं: आप जो हासिल करना चाहते हैं उसके आधार पर आप उनका उपयोग कर सकते हैं या नहीं ... मेरा मतलब यह है कि आपको जितना संभव हो सके अपना कोड ट्विक नहीं करना है उनका उपयोग करने के लिए, लेकिन अगर आपको कोई समस्या नहीं है तो कोई समस्या नहीं है।
यदि आपके पास 3 और केवल 3 विशेषताओं वाले ऑब्जेक्ट हैं तो आपको जादू सेटर्स/गेटर्स का उपयोग करने की आवश्यकता नहीं है, लेकिन कुछ उन्नत मामलों में वे बहुत जटिल चीजें करने के लिए एक शानदार तरीका हैं (ओआरएम सिस्टम इत्यादि ...)
शायद उनमें से कुछ को बहिष्कृत किया गया है, मुझे नहीं पता, लेकिन उनमें से अधिकतर नहीं हैं।
मुझे ऐसा नहीं लगता है। मेरा आईडीई मुझे जादू सेटटर और गेटर्स के लिए "संकेत" दिखाने में सक्षम नहीं है। कोड को कभी-कभी डीबग करना कठिन होता है।
मैं उनका उपयोग नहीं करना पसंद करता हूं, bette मेरे विचार से आवश्यक विधियों (जैसे कई सेटर्स और गेटर्स) उत्पन्न करता है।
जो गेटर्स और सेटर्स पर लागू हो सकते हैं, लेकिन '__construct', '__clone' आदि नहीं हैं," जादुई तरीकों "भी माना जाता है? http://php.net/manu al/en/language.oop5.magic.php उनके बिना कोई काम कैसे करेगा? –
सही @Potter i Mean @Pekka :) –
कम से कम, इन जादू कार्यों में से कुछ गूगल द्वारा सिफारिश कर रहे हैं:
बचें अनुभवहीन setters और getters
जब PHP में वर्गों लेखन, आप समय की बचत करने और अपने की गति बढ़ा सकता लेखन के बजाय बेवकूफ सेटर्स और गेटर्स लिखने के बजाय ऑब्जेक्ट गुणों के साथ सीधे काम करके स्क्रिप्ट। निम्नलिखित उदाहरण में, कुत्ते कक्षा संपत्ति का उपयोग करने के लिए setName() और getName() विधियों का उपयोग करती है।
class dog { public $name = ''; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } }
सूचना है कि setName() और getName() की दुकान से ज्यादा कुछ नहीं करते हैं और क्रमशः नाम संपत्ति लौटने के लिए,।
$rover = new dog(); $rover->setName('rover'); echo $rover->getName();
सेटिंग और बुला नाम संपत्ति सीधे up to 100% faster चला सकते हैं विकास समय पर नीचे काटने के साथ ही,।
$rover = new dog(); $rover->name = 'rover'; echo $rover->name;
वास्तविक लिंक: http://code.google.com/speed/articles/optimizing-php.html
संग्रहीत संस्करण: https://web.archive.org/web/20120208060457/http://code.google.com/speed/articles/optimizing-php.html
वैसे भी, इन तरीकों नहीं performant हो सकता है, लेकिन वे सब पर पदावनत नहीं है।
और यहां एक और राय: http://www.garfieldtech.com/sites/default/files/benchmarks.png: डी (देखें http: //www.garfieldtech .com/ब्लॉग/जादू-बेंचमार्क) – Rolf
यह उत्तर पूरी तरह से ऑफ-विषय है। "Google" देशी गेटर्स/सेटर्स बनाम जादू कार्यों का उपयोग करने के खिलाफ नहीं जाता है। वे मूल गेटर्स/सेटर्स का उपयोग करने के खिलाफ सलाह देते हैं यदि वे केवल संपत्ति को सीधे संशोधित करते हैं। यह वही बात नहीं है। –
वे "बेवकूफ" गेटर्स/सेटर्स का उपयोग करने के खिलाफ जाते हैं। उस समय प्रारंभिक प्रश्न के लोकप्रिय उत्तर (3 साल पहले, बीटीडब्ल्यू, यहां मेरा परिचय है: http://xkcd.com/386/) जादू विधियों को बहिष्कृत करने का सुझाव दे रहे थे। मेरा जवाब सिर्फ एक मुद्दा बना रहा था कि यह एक पूर्ण सत्य नहीं था। – Rolf
विपक्ष
पाठ खोज कार्यों नहीं पाते
सिस्टम को समझने के लिए कठिन है, विशेष रूप से नए चेहरे
पुनर्रचना उपकरण हो सकता है के लिए अधिक बार असफल हो जाते हैं
आम तौर पर, जादू के तरीके दृश्यों के पीछे चीजें करते हैं और प्रोग्रामर को ऐसा नहीं लगता है कि यह हो रहा है जो डीबगिंग को कठिन बनाता है।
फ़ंक्शंस (या अन्य प्रतीकों) की खोज करते समय सभी मैचों को नहीं मिल सकता है, यह पुराने कोड को हटाने के लिए एक दुःस्वप्न बन जाता है और यह डर कोडबेस में मृत कोड को ढेर कर सकता है। यदि मृत कोड हटा दिया गया है, तो यह अज्ञात स्थानों में टूटने का कारण बन सकता है।
- 1. PHP में जादू उद्धरण रनटाइम क्या हैं?
- 2. जावास्क्रिप्ट में जादू तरीके
- 3. यूनिट परीक्षण जादू तरीके
- 4. PHP फॉर्म डिज़ाइन सर्वोत्तम अभ्यास
- 5. PHP में दृश्य बनाना - सर्वोत्तम अभ्यास
- 6. जादू संख्याओं से जुड़े वैश्विक स्थिरांक के लिए सर्वोत्तम अभ्यास
- 7. विस्तार के तरीके बनाम नियमित तरीके - सर्वोत्तम अभ्यास विचार
- 8. सर्वोत्तम अभ्यास
- 9. पर्ल में त्रुटि प्रबंधन के लिए सर्वोत्तम अभ्यास क्या हैं?
- 10. किसी डेटाबेस में PHP सत्र डेटा संग्रहीत करने के लिए सर्वोत्तम अभ्यास क्या हैं?
- 11. निर्भरता इंजेक्शन सर्वोत्तम अभ्यास
- 12. backbone.js परियोजनाओं के लिए आपके सर्वोत्तम अभ्यास क्या हैं?
- 13. संसाधन सूची प्राधिकरण के आसपास सर्वोत्तम अभ्यास क्या हैं?
- 14. रचनाकारों में शुरूआत, सर्वोत्तम अभ्यास?
- 15. एसक्यूएल कनेक्शन सर्वोत्तम अभ्यास
- 16. स्ट्रिंग डेटा फ़ील्ड आकार के लिए सर्वोत्तम अभ्यास क्या हैं?
- 17. संस्करण नियंत्रण "सर्वोत्तम अभ्यास"
- 18. लुसेन.Net सर्वोत्तम अभ्यास
- 19. कोड अनुबंध सर्वोत्तम अभ्यास
- 20. एलडीएपी मॉडलिंग सर्वोत्तम अभ्यास
- 21. कनेक्शन स्ट्रिंग सर्वोत्तम अभ्यास
- 22. UITableView सर्वोत्तम अभ्यास
- 23. अपवाद लॉगर: सर्वोत्तम अभ्यास
- 24. Android ऐप्स को क्रैश करने के सर्वोत्तम तरीके क्या हैं?
- 25. एसवीएन लेआउट - सर्वोत्तम अभ्यास
- 26. फेसबुक लॉगिन सर्वोत्तम अभ्यास
- 27. ctags सर्वोत्तम अभ्यास
- 28. LinqToSql सर्वोत्तम अभ्यास
- 29. परिपत्र-निर्भरता सर्वोत्तम अभ्यास
- 30. रिलीज प्रबंधन - सर्वोत्तम अभ्यास
"सर्वोत्तम अभ्यास" से आपका क्या मतलब है? आपका प्रश्न वास्तव में मुझे समझ में नहीं आता है। वे उपकरण हैं, कुछ चीजें उनके बिना नहीं की जा सकती हैं। आप ठीक - ठीक क्या जानना चाहते हैं? –
मैं एक पुस्तक एन ओओपी पढ़ रहा था, मुझे गेटर और सेटर का सामना करना पड़ा जहां मैंने जादू विधि शब्दावली देखी .. लेकिन एक बार जब किसी ने मुझे बताया कि उन्हें बहिष्कृत किया गया है, तो क्या ऐसा है ?? –
मेरा अनुमान है कि वह सोचता है कि वे चुपके/धोखाधड़ी कर रहे हैं (जैसे 'i ++' और 'goto' या वह चिंतित हैं कि वे अत्यधिक उपयोग या अविश्वसनीय हैं। हाँ, स्टाइल के लिए टेबल का उपयोग करना। – Anthony