एक PHP फ्रेमवर्क से दूसरे में माइग्रेट करना


10

मैं एक वेब कंपनी के साथ काम कर रहा हूं जो एक ऐसे बिंदु पर पहुंच रही है, जहां इसकी संभावना होगी कि वह उत्पाद को V2 के रूप में फिर से सोचें - अपने मॉडल V1 के कुछ नींवों और सिद्धांतों को पछाड़ने के कारण, जो डेटा मॉडल से, लगभग हर चीज में निर्मित हो चुके हैं। उपयोगकर्ता इंटरफेस। विभिन्न कारणों से, इस विकास में CakePHP (जिसके साथ V1 का निर्माण किया गया है) से सिम्फनी या ज़ेंड के प्रवास में शामिल हो सकते हैं।

मैं कुछ अनुभवी विचारों के बारे में पूछना चाहता हूं कि कैसे लोगों ने इस तरह के एक संक्रमण के लिए एक वेबसाइट को प्रबंधित किया हो सकता है जिसमें महत्वपूर्ण ट्रैफ़िक है और राजस्व उत्पन्न करता है। मैं विभिन्न PHP फ्रेमवर्क के प्रो एंड कोन पर चर्चा को नहीं खोलना चाहता, या इस माइग्रेशन की आवश्यकता क्यों हो सकती है। इसके बजाय, मुझे यह सुनने में बहुत दिलचस्पी होगी कि क्या कुछ व्यावहारिक विकल्प हैं कि अनिवार्य रूप से वी 2 के साथ खरोंच से वी 2 का निर्माण कुछ महीनों के लिए किया जाए - और इस गहन अवधि के लिए कीमती कोडिंग समय को लॉक करना। इस तरह के विकल्प का एक उदाहरण समय की एक लंबी अवधि में भागों में एक ऐप को माइग्रेट करना हो सकता है।

मैं ऐसे लोगों से किसी भी विचार के लिए आभारी रहूंगा जो इस तरह के बदलावों में कामयाब रहे हैं या शामिल हो सकते हैं।

अग्रिम में धन्यवाद।

जवाबों:


2

यदि यह एक व्यावसायिक अनुप्रयोग है जो आपकी कंपनी का व्यवसाय है, तो आप पूरी तरह से एक 3 पार्टी ढांचे के बिना जा सकते हैं। फिर जब v3 का समय आता है, तो आप फिर से इसी समस्या का सामना नहीं करेंगे। और आप कभी भी ऐसी स्थिति में नहीं होंगे जहां आपको रूपरेखा के अपडेट के जवाब में अपना कोड समायोजित करना होगा। फ्रेमवर्क चीजों को पाने और जल्दी से चलाने के लिए बहुत अच्छा है, लेकिन अगर यह आपके व्यवसाय के लिए एक ए) कोर है और बी) लंबे समय तक बनाए रखा जाता है, तो फ्रेमवर्क का मूल्य कम हो जाता है।


1
धन्यवाद - उपयोगी परिप्रेक्ष्य, हालांकि रूपरेखा इतनी सारी चीजों के संबंध में जीवन को आसान बनाती है कि उनका उपयोग न करने के विचार का मनोरंजन करना कठिन है। उन्हें अनुकूलित भी किया जा सकता है और हमेशा अपडेट रहने की आवश्यकता नहीं है जब तक कि ऐसा करने की वास्तविक आवश्यकता न हो (जैसे सुरक्षा कमजोरियां, एक्स के लिए समर्थन की कमी, आदि)। इस जवाब को स्वीकार करना क्योंकि यह वास्तव में एक "समाधान" के बारे में है न कि पता करने की कोशिश करने के बजाय कि फ्रेमवर्क स्विच की आवश्यकता क्यों हो सकती है।
टॉम

1
यह उत्तर बिल्कुल समाधान नहीं है।
जेम्स

6

नए ढांचे को पहले अच्छी तरह से जानें, और सुनिश्चित करें कि यह आपकी आवश्यकताओं को पूरा करने वाला है, और यह कि आप वास्तव में नए ढांचे के प्रतिमानों को खोदते हैं। आपको बहुत सारे कोड फेंकने होंगे, और यह ठीक है। महत्वपूर्ण बात यह है कि आप नए ढांचे का उपयोग कर रहे हैं जिस तरह से इसका उपयोग किया जाना था, इसका पूरा लाभ उठाते हुए, यह आपके पुराने ढांचे से सोचने के तरीकों में बंधा नहीं है। Zend का उपयोग करने की कोशिश मत करो "CakePHP रास्ता" *

उदाहरण के लिए, जब मैं पिछले गैर-एमवीसी लोगों से एमवीसी ढांचे का उपयोग करने के लिए स्थानांतरित हुआ, तो मुझे वास्तव में यह नहीं मिला कि मॉडल, विचार और नियंत्रक कैसे काम करने वाले थे, और मैंने कुछ भयानक दिखने वाले कोड लिखे क्योंकि मुझे नया समझ नहीं आया चीजों को करने का तरीका। आप एक बेहतर ढांचे पर एक खराब लिखित ऐप की तुलना में एक अवर पुराने ढांचे के साथ चिपके रहना बेहतर होगा।

* मैं या तो परिचित नहीं हूं, इसलिए मुझे नहीं पता कि वे कितने समान / तुलनीय हैं।


+1 के लिएDon't try to use Zend "the CakePHP way
टिम पोस्ट

जब लोग '+1' कहते हैं तो आमतौर पर वे वास्तव में जवाब देने के द्वारा +1 देते हैं;)
GSto

क्षमा करें, इंटरनेट हिचकी। :) वाहक कबूतर पर टीसीपी यहाँ।
टिम पोस्ट

उपयोगी उत्तर के लिए धन्यवाद। मैंने Zend और CakePHP दोनों में डब किया है, और हालांकि मैं आपकी टिप्पणी से सहमत हूं, मैं सिद्धांत के "स्वीकार" के रूप में नहीं कर सकता जब यह हाथ से बोलने का अनुभव नहीं है।
टॉम

5

पहली बात यह है कि खरोंच से एक उत्पाद को फिर से लिखना कुछ ऐसा है जो आपको कभी नहीं करना चाहिए । यह विशेष रूप से सच है जब वर्तमान संस्करण पहले से ही आपको पैसा दे रहा है। मूल रूप से, आप 6 महीने का समय बिताने जा रहे हैं, बस वापस उसी स्थान पर पहुँचें जहाँ आप 6 महीने पहले थे। केवल अब, आपको अधिक बग (या कम से कम, अलग - अलग बग) मिल गए हैं, फिर से शुरू किए गए बग जो पहले से ही पुराने कोड में तय किए गए थे, और आप छह महीने पीछे हैं जहां आप हो सकते थे, आप थे पुराने कोडबेस में सुविधाएँ जोड़ना।

CakePHP, Zend और सिम्फनी काफी हद तक एक ही हैं (यानी वे PHP के शीर्ष पर सभी MVC- शैली के फ्रेमवर्क हैं), इसलिए मुझे यकीन नहीं है कि आप एक से दूसरे में क्या फायदा होगा। सुविधा सेट में निश्चित रूप से अंतर हैं, लेकिन क्या वे वास्तव में उस समय खुद को वापस स्थापित करने के लायक हैं? जितने समय के लिए आप Zend या जो कुछ भी हो, में स्क्रैच से फिर से लिखने में खर्च करेंगे, क्या आप उसी समय को केक में आवश्यक सुविधाओं को जोड़ने में खर्च कर सकते हैं?

मेरी राय में, आप समय के साथ अपने मौजूदा कोड को धीरे-धीरे फिर से तैयार करना बेहतर समझेंगे, बजाय एक नए ढांचे के साथ पूरी तरह से शुरू करने से।

बेशक, यह सिर्फ मेरी राय है। मुझे पता है कि यह मौजूदा (बदसूरत, पुराना) कोड को छोड़ने और खरोंच से शुरू करने के लिए आकर्षक है, लेकिन पहले से काम कर रहे स्थापित उत्पादों के लिए, आमतौर पर बहुत कम और खोने के लिए बहुत कुछ है।


मैं बिल्कुल यहीं सोच रहा था। यहाँ फिर से लिखने का कोई मतलब नहीं है, क्योंकि यह एक मजबूत मामला नहीं है कि यह एक आर्थिक निर्णय होने जा रहा है।
एरिकबॉर्स्मा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.