translation

यह AI द्वारा अनुवादित पोस्ट है।

초록 기린

PHP संस्करण अपग्रेड टूल रेक्टर परिचय

  • लिखने की भाषा: कोरियाई
  • मानक देश: सभी देशcountry-flag
  • आईटी
प्रोफ़ाइल छवि

durumis AI द्वारा सारांशित पोस्ट

  • PHP संस्करण अपग्रेड टूल रेक्टर का उपयोग करके PHP 5.3 कोड को PHP 7.4 में माइग्रेट करने के तरीके का परिचय देता है।
  • कम्पोजर स्थापित करने के बाद, रेक्टर को प्रोजेक्ट में स्थापित करें और rector.php कॉन्फ़िगरेशन फ़ाइल के माध्यम से अपग्रेड के लिए लक्षित कोड और PHP संस्करण निर्दिष्ट करें।
  • सुधार नियमों को सेट और निष्पादित करके, कोड को स्वचालित रूप से संशोधित करें, और परिवर्तनों को Git के माध्यम से प्रबंधित करें ताकि अपग्रेड को सुरक्षित रूप से पूरा किया जा सके।

जब मैंने GNU Board 5 (ग्रूनू बोर्ड 5) नामक कोरियाई PHP CMS वेबसाइट देखी, तो मैंने देखा कि PHP संस्करण अपग्रेड करने के बाद, कुछ लोगों को समर्थित नहीं किए गए सिंटैक्स और संस्करणों के कारण परेशानियों का सामना करना पड़ रहा था।

इसलिए, मैंने खोजबीन की और...

Reddit पर, मैंने पाया कि Rector (रेक्टर) नामक एक टूल माइग्रेशन में मदद करता है, इसलिए मैं आपको इसका उपयोग करने का तरीका बता रहा हूँ।



2015 में PHP 7.0 के लॉन्च के बाद से, PHP माइग्रेशन टूल जैसे PHP CS Fixer और Rector (रेक्टर) इत्यादि आए हैं।

Rector (रेक्टर) का उपयोग करना थोड़ा आसान लगता है।

Rector (रेक्टर) (उच्चारण: रेक्टर) PHP 5.3 से लेकर 8.2 तक के कोड को वांछित संस्करण के अनुसार सिंटैक्स चेक करता है और उसे ठीक करता है।


एक बात जो थोड़ी निराशाजनक है, वह यह है कि Rector (रेक्टर) एक स्टेटिक एनालाइज़र है, इसलिए यह रनटाइम पर आने वाली त्रुटियों का पता नहीं लगा पाता है।



Rector (रेक्टर) को काम करने के लिए, आपके सिस्टम में Composer (कम्पोजर) नामक PHP पैकेज मैनेजमेंट टूल स्थापित होना चाहिए।

1. Composer (कम्पोजर) को स्थापित करें।

2. अपने वर्तमान प्रोजेक्ट फोल्डर में Rector (रेक्टर) को स्थापित करें।

3. कॉन्फ़िगरेशन फाइल rector.php बनाएँ।



rector.php कॉन्फ़िगरेशन

समझने में आसानी के लिए, हम एक स्थिति मान लेते हैं।

मान लीजिए कि हमारा सोर्स कोड PHP 5.3 में लिखा गया है, और हम उसे PHP 7.4 में अपग्रेड करना चाहते हैं।

Rector (रेक्टर) का संस्करण 1.0.3 है।


RectorConfig::config() फंक्शन सोर्स कोड के फोल्डर और PHP संस्करण को सेट करता है।

withPhpSets फंक्शन उस PHP संस्करण के लिए फंक्शन को सेट करता है जिसमे अपग्रेड करना है।


यदि आपका Rector (रेक्टर) चलाने वाला PHP संस्करण PHP 8.0 है, तो


इस तरह से आप PHP संस्करण : true सेट कर सकते हैं।

लेकिन अगर PHP का वर्तमान संस्करण PHP 7.4 या उससे कम है,


तो फंक्शन में नाम वाले पैरामीटर सिंटैक्स का इस्तेमाल नहीं कर सकते हैं, इसलिए आपको वांछित संस्करण के लिए true सेट करना होगा।

Rector (रेक्टर) PHP 8.3 को सपोर्ट करता है, इसलिए अगर आपको PHP 7.4 सेट करना है, तो आप इस तरह से कर सकते हैं।


->withPaths([
__DIR__ , // rector.php वाली डायरेक्टरी।
])



जिन नियमों और फोल्डर को आप लागू नहीं करना चाहते हैं, उन्हें आप यहां निर्दिष्ट कर सकते हैं।

फोल्डर के लिए '/फोल्डर का नाम/*' का प्रयोग करें।

फाइल के लिए 'फाइल का नाम' का प्रयोग करें।


हमने 'SensitiveConstantNameRector' नियम को जोड़ा है।

Rector (रेक्टर) PHP एरे में undefined index होने पर उसे ढूंढ नहीं पाता है और उसे कांस्टेंट मानकर गलत तरीके से बदलने की कोशिश करता है। इसलिए, हमने इसे एक्सक्लूड नियमों में शामिल कर लिया है।

ये नियम कोड स्टाइल से संबंधित हैं, इसलिए हम इन्हें एक्सक्लूड कर रहे हैं।


रन करना

इसके दो तरीके हैं।

यह कमांड केवल कंसोल पर उन कोड को प्रिंट करेगा जिन्हें बदलने की ज़रूरत है।

सोर्स कोड जितना बड़ा होगा, उतनी ही ज़्यादा रैम की ज़रूरत होगी। इसलिए, आपको --memory-limit=2G फ़्लैग का इस्तेमाल करके रैम की मात्रा निर्धारित करनी होगी।


यह कमांड सोर्स कोड को सीधे बदल देगा।

इसमें बहुत सारे फ़्लैग हैं, इसलिए गलती से कुछ अनचाहे फ़्लैग लग भी सकते हैं। इसलिए, Git (गिट) के ज़रिए बदलावों की जांच करनी ज़रूरी है।



[php]उबंटू पर कोडइग्नाइटर 4 सेट करनाउबंटू में कोडइग्नाइटर 4 विकास वातावरण स्थापित करने के तरीके का परिचय देते हुए, अपाचे, PHP एक्सटेंशन इंस्टॉलेशन और कॉन्फ़िगरेशन प्रक्रिया का विस्तृत विवरण प्रदान करता है।
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

March 27, 2024

[python]पायथन बेसिक 1 पायथन मॉड्यूल को समझनापायथन मॉड्यूल वेरिएबल, फंक्शन, क्लास आदि को एक साथ रखने वाली फाइलें हैं, जो दूसरों द्वारा बनाए गए मॉड्यूल का उपयोग करने या सामान्य रूप से उपयोग किए जाने वाले वेरिएबल, फंक्शन आदि को एक साथ लाने के लिए उपयोगी हैं। `import` कीवर्ड का उपयोग करके मॉड्यूल को इम
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

March 27, 2024

VS Code के लिए जेमिनी कोड असिस्ट त्रुटि का समाधानयदि VS Code में जेमिनी कोड असिस्ट त्रुटि आ रही है, तो इसे पिछले संस्करण (v2.14.0) पर डाउनग्रेड करके हल किया जा सकता है।
해리슨 블로그
해리슨 블로그
해리슨 블로그
해리슨 블로그

July 26, 2024

[इफेक्टिव जावा] आइटम 2. यदि कंस्ट्रक्टर में कई पैरामीटर हैं तो बिल्डर पर विचार करेंजब कंस्ट्रक्टर में कई पैरामीटर होते हैं, तो बिल्डर पैटर्न का उपयोग करके पठनीयता और स्थिरता में सुधार किया जा सकता है। जावा बीन्स पैटर्न या चरणबद्ध कंस्ट्रक्टर पैटर्न की तुलना में बिल्डर पैटर्न अधिक प्रभावी है।
제이온
제이온
제이온
제이온

April 27, 2024

अंग्रेजी लेखन में सहायता करने वाली वेबसाइट्स का संग्रहअंग्रेजी लेखन करते समय व्याकरण और वर्तनी में सुधार के लिए मददगार 챗GPT (ChatGPT), Grammarly, आदि उपयोगी वेबसाइटों की जानकारी यहाँ एकत्रित की गई है।
길리
길리
길리
길리

April 1, 2024

फ्लिटर 1.0.0 जारी: D3 का विकल्प SVG लाइब्रेरीफ्लिटर 1.0.0 एक SVG-आधारित डेटा विज़ुअलाइज़ेशन लाइब्रेरी है, जिसने React के साथ संगतता को मजबूत किया है और SSR समर्थन में सुधार किया है। इसमें प्रदर्शन में सुधार और बग फिक्स भी शामिल हैं।
Meursyphus
Meursyphus
Meursyphus
Meursyphus

May 1, 2024