PHP4 से PHP5 तक चिकनी माइग्रेशन के लिए अनुसरण करने के लिए कुछ अच्छे कदम क्या हैं। कुछ प्रकार के कोड क्या हैं जो तोड़ने की संभावना है?PHP4 से PHP5 माइग्रेशन
उत्तर
मैंने एक बार एक ऐप पर भी काम किया जो PHP4 के एक्सएमएल समर्थन का काफी उपयोग करता था, और PHP5 पर जाने के लिए काफी काम करना पड़ता था।
उस समय के अन्य महत्वपूर्ण परिवर्तनों में से एक जो मैं देख रहा था वह फ़ंक्शन पैरामीटर के डिफ़ॉल्ट हैंडलिंग का परिवर्तन था। यदि मुझे याद है तो PHP4 में, वे पास-बाय-कॉपी थे जब तक आप अन्यथा निर्दिष्ट नहीं करते हैं, लेकिन PHP5 में डिफ़ॉल्ट रूप से पास-बाय-रेफरेंस में बदल दिया जाता है। अच्छी तरह लिखित कोड में, शायद यह आपके लिए बड़ा अंतर नहीं करेगा, लेकिन यह निश्चित रूप से समस्याएं पैदा कर सकता है।
मुझे लगता है कि एक और चीज जो मैंने पाया वह यह है कि वस्तुओं को अब उनके 'इस' फ़ील्ड को ओवरराइट करने की अनुमति नहीं है। मैं कहूंगा कि शुरुआत करने के लिए वास्तव में एक बुरा विचार था (और मुझे लगता है कि यह PHP4 में एक जानबूझकर विशेषता नहीं हो सकती है), लेकिन मुझे निश्चित रूप से हमारे सिस्टम के कुछ हिस्सों को मिला जो इस पर निर्भर थे।
आशा है कि इनमें से कुछ मदद करता है।
हम एक ऐप्लिकेशन है जो PHP 4 एक्सएमएल डोम कार्यों पर काफी भरोसा था और इस पर पीएचपी 5.
है कि सबसे अधिक परिवर्तन से परे थे निपटने त्रुटि तरह बातें करने के लिए सुधार बदलने के लिए retooling का एक बहुत आवश्यक (लाभ लेने के लिए अपवादों के) और PHP कक्षाएं।
सबसे अच्छा सलाह मैं PHP4 के साथ काम कर किसी को भी दे सकता है यह है:
error_reporting(E_ALL);
यह बहुत ज्यादा आप वास्तव में यह बताएगा कि क्या करने की जरूरत।
माइग्रेट करने से पहले या बाद में? –
ओओपी सबसे बड़ा अंतर है। यह तोड़ नहीं जाएगा क्योंकि PHP4 और PHP5 ओओपी शैलियों का आदान-प्रदान योग्य है लेकिन मैं PHP5 की नई ओओपी शैलियों का लाभ उठाने का प्रयास करूंगा। यह आपके मौजूदा वर्गों को PHP5 में बदलने के लिए बहुत अधिक काम नहीं है और यह आपको कुछ अतिरिक्त जादुई तरीकों देता है जो कुछ मौजूदा हैक्स को हल करने में मदद कर सकते हैं (मुझे याद है कि अधिकांश कक्षाओं में लगभग बेकार __toString समकक्ष विधि है)।
- 1. PHP4
- 2. PHP स्क्रिप्ट को PHP5
- 3. PHP4: curl के माध्यम से HTTPS/POST पर XML भेजें?
- 4. PHP5
- 5. php5
- 6. याहू PHP5 Sdk yos-social-php5
- 7. मैकपोर्ट्स PHP5
- 8. कैसे PHP5
- 9. PHP5: DOMDocument
- 10. कैसे PHP5
- 11. क्या कोई अच्छी php5 ओओपी ट्यूटोरियल साइट है?
- 12. PHP4 के लिए समर्थन का आधिकारिक अंत?
- 13. माइग्रेशन: पूर्णांक से स्ट्रिंग
- 14. PHP5। कक्षा सदस्य
- 15. ईएफ माइग्रेशन: रोलबैक आखिरी बार माइग्रेशन माइग्रेशन?
- 16. घातक लॉगिंग/PHP5
- 17. PHP5: कॉन्स बनाम स्थैतिक
- 18. स्थिरांक PHP5 में पीएचपी
- 19. माइग्रेशन
- 20. माइग्रेशन
- 21. माइग्रेशन
- 22. माइग्रेशन
- 23. माइग्रेशन
- 24. माइग्रेशन
- 25. कोर डेटा लाइटवेट माइग्रेशन: माइग्रेशन
- 26. इंजन से माइग्रेशन स्थापित करना
- 27. एएसपी.NET 1.1 से 4.0 माइग्रेशन:
- 28. प्राइमफ़ेस 3.0 से 3.1 माइग्रेशन
- 29. त्रुटि 502 nginx + php5-fpm
- 30. PHP5 बूलियन मूल्यों से आबद्ध SQLI bind_param समस्या
मैं Google खोज परिणामों के शीर्ष पर इस पोस्ट को नोटिस करने के लिए हुआ था जब मैंने PHP4 बनाम PHP5 फ़ंक्शन व्यवहार के लिए गुजरने वाले तर्कों की खोज की थी। [PHP मैनुअल] (http://php.net/manual/en/functions.arguments.php) अन्यथा बताता है; मूल्य से गुजरना (पास-बाय-कॉपी) _still_ डिफ़ॉल्ट है। –