GitHub के शीर्ष 10 PHP रिपॉजिटरी: शुरुआत से विशेषज्ञ तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

दूसरों के कोड में क्यों झाँकना चाहिए?

\n

वह भावना याद है जब आपने एक स्क्रिप्ट लिखी जो शायद काम करती है, लेकिन लगता है कि इसे और सरल और सुरुचिपूर्ण बनाया जा सकता था? या जब आप एक महीने बाद अपना कोड देखते हैं और समझ नहीं पाते कि वहाँ क्या हो रहा है? क्लब में आपका स्वागत है। अच्छी खबर यह है कि आपको पहिया का पुनः आविष्कार करने की आवश्यकता नहीं है। GitHub पर PHP समुदाय तैयार समाधानों, आर्किटेक्चरल पैटर्न और बस सुंदर कोड पंक्तियों का सोने की खान है।

\n

इस लेख में हम केवल लिंक सूचीबद्ध नहीं करेंगे। हम आपको दिखाएंगे, दूसरों का कोड कैसे पढ़ें और इनमें से प्रत्येक रिपॉजिटरी में वास्तव में क्या देखना चाहिए। कमर कस लें, यह दिलचस्प होने वाला है।

\n\n

1. Laravel: हुड के नीचे सुंदरता और 'जादू'

\n

राजा से शुरू करते हैं। रिपॉजिटरी laravel/framework सिर्फ एक फ्रेमवर्क नहीं है, यह PHP में उन्नत OOP पर एक पाठ्यपुस्तक है। यदि आप समझना चाहते हैं कि Service Container, Facades या Eloquent कैसे काम करते हैं - तो यहाँ आएं।

\n

सबसे पहले क्या देखें:

\n
    \n
  • फ़ोल्डर src/Illuminate/Support — हेल्पर्स का संग्रह। ट्रेट्स Macroable और Tappable पर ध्यान दें। यह वह जादू है जो कोड को पढ़ने योग्य बनाता है।
  • \n
  • रूटिंग फ़ाइलें (Router.php) — समझें कि अनुरोध प्रतिक्रिया में कैसे बदलता है।
  • \n
  • विधि __call() और मैजिक मेथड्स — Laravel इनका सक्रिय रूप से उपयोग करता है। देखें कि Facades कैसे कार्यान्वित किए गए हैं।
  • \n
\n
<?php\n// Macroable ट्रेट से उदाहरण\npublic static function macro($name, $macro)\n{\n    static::$macros[$name] = $macro;\n}\n\npublic function __call($method, $parameters)\n{\n    if (isset(static::$macros[$method])) {\n        return call_user_func_array(static::$macros[$method]->bindTo($this, static::class), $parameters);\n    }\n    throw new BadMethodCallException("Method {$method} does not exist.");\n}\n?>
\n

सुझाव: एक बार में सब कुछ पढ़ने की कोशिश न करें। एक घटक (जैसे Http या Database) से शुरू करें और देखें कि इसका परीक्षण कैसे किया जाता है। Laravel में परीक्षण कला का एक अलग रूप है।

\n\n

2. Symfony: वह आर्किटेक्चर जिस पर सब कुछ टिका है

\n

यदि Laravel एक रेसिंग कार है, तो symfony/symfony एक फैक्ट्री असेंबली लाइन है। मॉड्यूलरिटी, Dependency Injection, Event Dispatcher। यह रिपॉजिटरी आपको ऐसा कोड लिखना सिखाएगा जो एक साल बाद भी नहीं टूटेगा।

\n

प्रमुख प्रवेश बिंदु:

\n
    \n
  • कम्पोनेंट HttpKernel — फ्रेमवर्क का तंत्रिका तंत्र। देखें कि middleware और अपवाद प्रबंधन कैसे काम करता है।
  • \n
  • कम्पोनेंट DependencyInjection — समझें कि कंटेनर निर्भरता कैसे प्रबंधित करता है। यह आपके डिज़ाइन के दृष्टिकोण को बदल देगा।
  • \n
  • कम्पोनेंट Console — यदि आप कंसोल कमांड लिखते हैं, तो देखें कि Symfony में यह कैसे किया जाता है। प्रश्नों और प्रोग्रेस-बार के साथ कुछ तरकीबें हैं।
  • \n
\n
<?php\n// Console कम्पोनेंट से उदाहरण: प्रोग्रेस के साथ सरल आउटपुट\nuse Symfony\\Component\\Console\\Helper\\ProgressBar;\n\n$progressBar = new ProgressBar($output, 50);\n$progressBar->start();\n\nfor ($i = 0; $i < 50; $i++) {\n    // ... कुछ करें ...\n    usleep(100000);\n    $progressBar->advance();\n}\n\n$progressBar->finish();\n?>
\n

सुझाव: "जादू" को अनदेखा करें। Symfony में कोई जादू नहीं है। सब कुछ स्पष्ट और दस्तावेजित है। प्रत्यय Interface.php वाली फ़ाइलें खोजें - ये अनुबंध हैं जो सब कुछ एक साथ जोड़ते हैं।

\n\n

3. Composer: निर्भरता प्रबंधक जिसका आप प्रतिदिन उपयोग करते हैं

\n

रिपॉजिटरी composer/composer एक उदाहरण है कि कमांड लाइन उपयोगिताएँ कैसे लिखें। यह वेब के बारे में नहीं है, यह इंजीनियरिंग के बारे में है।

\n

क्या सीखें:

\n
    \n
  • निर्भरता पार्सिंग और समाधान — Solver वर्ग में कार्यान्वित एक जटिल एल्गोरिदम। देखें

ब्लॉग

पुस्तक अनुशंसाएँ