ASP.NET बैकग्राउंड से आने वाले PHP के साथ खुद को परिचित करने का एक अच्छा तरीका क्या है? [बन्द है]


10

वर्तमान में, मैं ASP.NET वातावरण में उपकरण / वेब एप्लिकेशन बनाने में बहुत सहज हूं। मैं वास्तव में tbh को छोड़ना नहीं चाह रहा हूं, क्योंकि मुझे वास्तव में C #, ASP.NET, MVC 3, विज़ुअल स्टूडियो, आदि पसंद हैं।

हालाँकि, अभी मुझे PHP के बारे में लगभग कुछ नहीं पता है और यह एक कमी की तरह लगता है जिसे मैं सुधारना चाहूंगा।

क्या कोई किताबें (या अन्य सीखने के तरीके) हैं जो PHP सीखने के लिए एक अच्छा संसाधन होगा? स्पष्ट रूप से शुरुआत की बहुत सारी PHP किताबें हैं, लेकिन मैं पहले से ही इस बात से काफी सहज हूं कि वेब पेज बनाने में क्या शामिल है, और खुद को PHP पर ध्यान केंद्रित करने में दिलचस्पी है जो शायद कुछ शुरुआती PHP पुस्तकों के दायरे के साथ संगत नहीं हो सकती है।

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


5
आपको क्यों लगता है कि PHP को नहीं जानना एक कमी है जिसे आपको ठीक करने की आवश्यकता है। रेल, Django, J2EE, node.js, आदि की कमी को ठीक करने के लिए आवश्यक नहीं है? क्या आपके लिए रोजगार की वर्तमान रेखा में PHP को जानने और उसका उपयोग करने की वास्तविक मांग है?
रेयनोस

1
@Raynos खैर php की लोकप्रियता रेल से भी बड़ा है, जैंगो, संयुक्त Node.js ...
Yannis

क्यों (एक लौ नहीं) क्या आप PHP के साथ बेहतर होना चाहते हैं? क्या यह अधिक गतिशील, व्याख्या किए गए वातावरण या इससे अधिक विकसित करने के लिए सीखने के लिए है क्योंकि बहुत कुछ बाहर है?
sbrenton

1
@ रेयानोस - बाजार हिस्सेदारी। समाधान की तुलना करने, किसी समस्या का मूल्यांकन करने, किसी मित्र की मदद करने आदि के लिए php के बारे में कुछ ज्ञान के ऑड्स आपके द्वारा सूचीबद्ध उदाहरणों से अधिक हैं। मुझे asp.net से दूर जाने की कोई इच्छा नहीं है, इसलिए "सबसे अच्छा" वैकल्पिक वातावरण को जानना सबसे लोकप्रिय जानने की तुलना में कम उपयोगी है।
एरिक

1
MVC3 में जाओ जो एक अच्छा पहला कदम हो सकता है
डैनियल लिटिल

जवाबों:


7

PHP सीखने के लिए सबसे अच्छा संसाधन PHP मैनुअल है । यह बहुत अच्छी तरह से लिखा और अच्छी तरह से संरचित है, और यह PHP समुदाय की सबसे बड़ी संपत्ति में से एक है। यदि आप ASP.net के साथ आश्वस्त हैं, तो मैनुअल आपको आरंभ करने के लिए पर्याप्त है।

इससे पहले कि आप पढ़ना शुरू करें, आपको PHP स्टैक सेटअप करना चाहिए। आप अपाचे, PHP और अपने पसंदीदा डेटाबेस (SQLServer ठीक है) को अपने आप से स्थापित कर सकते हैं (यह बेहद आसान है) या आप XAMPP जैसे तैयार किए गए स्टैक को सेटअप कर सकते हैं । XAMPP इंस्टॉल करेगा:

सभी एक बार में (प्लस कुछ अन्य सामान)। एक महत्वपूर्ण पुस्तकालय जो गायब है वह phpUnit है , जो स्पष्ट रूप से इकाई परीक्षण में आपकी सहायता करेगा।

फिर आपको एक आईडीई स्थापित करना चाहिए, आपके स्पष्ट विकल्प PHP क्लासिक टूल टूल (पीडीटी) या पीएचपी के लिए नेटबीन्स के साथ एक्लिप्स क्लासिक हैं । अन्य बहुत सारे हैं, लेकिन ये दोनों मैं सुझाता हूं। मैं उन दोनों का उपयोग करता हूं, यदि आप उनके बीच चयन नहीं कर सकते हैं तो नेटबिन को लटका पाने के लिए थोड़ा आसान है, लेकिन आपको वास्तव में दोनों का मूल्यांकन करना चाहिए और अपने लिए निर्णय लेना चाहिए कि आपके लिए कौन सा बेहतर है - मैंने विज़ुअल स्टूडियो के साथ काम नहीं किया है। एक लंबा समय और मैं वास्तव में नहीं जानता कि कौन सा आईडीई आपको अधिक परिचित महसूस कर सकता है।

जब आप मैनुअल से मूल बातें खत्म कर लेते हैं, तो आपको एमवीसी ढांचे के बारे में सोचना शुरू कर देना चाहिए। फिर, मैं दो की सिफारिश करूंगा:

Zend फ्रेमवर्क जानवर है और CodeIgniter सौंदर्य है, अगर आप मुझे मूर्खतापूर्ण रूपक की अनुमति देते हैं। Zend फ्रेमवर्क में एक मजबूत सीखने की अवस्था है, Zend ( PHP के पीछे कंपनी ) द्वारा समर्थित है , और आप इसके साथ लगभग सब कुछ कर सकते हैं। CodeIgniter के हैंग होने के लिए बहुत आसान है, शुरुआती लोगों के लिए अच्छा प्रलेखन है और यह काफी लोकप्रिय है। लेकिन इसका अधिकांश कोडबेस पुराना है, क्योंकि वे PHP4 का समर्थन नहीं करते थे।

एक शुरुआत के लिए स्पष्ट विकल्प CodeIgniter है, लेकिन इसके साथ अटक मत जाओ। इसे एक शिक्षण उपकरण के रूप में उपयोग करें और जितनी जल्दी हो सके Zend फ्रेमवर्क में स्थानांतरित करें। फिर से PHP दुनिया में बहुत अधिक एमवीसी रूपरेखाएं हैं, लेकिन ये दो हैं जिन्हें मैं सुझाता हूं।

पुस्तकों के लिए, एक महान गैर शुरुआत पुस्तक PHP ऑब्जेक्ट्स, पैटर्न और अभ्यास हैSitepoint की PHP किताबें हमेशा पढ़ने के लिए एक खुशी होती हैं। यदि आप PHP के साथ प्यार में पड़ जाते हैं, तो आपको वास्तव में PHP वास्तुकार की सदस्यता पर विचार करना चाहिए ।

अंत में, पहली पसंद के रूप में PHP के लिए विशुद्ध रूप से तकनीकी कारणों पर इस महान चर्चा की जाँच करें ।


अपडेट: कुछ और ऑनलाइन संसाधन, जो ज्यादातर गैर शुरुआती लोगों को लक्षित करते हैं:

और अगर किसी अजीब कारण से आप अपाचे के बजाय IIS पर PHP के साथ खेलना चाहते हैं, तो एक अच्छी शुरुआत विंडोज पर Microsoft का PHP है । PHP, IIS पर काम करता है और विशेष रूप से .Net डेवलपर के लिए एक वैध विकल्प है, लेकिन आपको पूर्ण PHP अनुभव प्राप्त करने के लिए वास्तव में Apache (और SQLServer के बजाय MySQL या PostgreSQL) के साथ जाना चाहिए और यह भी सुनिश्चित करना चाहिए कि आपका कौशल किसी अन्य लोकप्रिय के लिए पोर्टेबल है ओएस। आप उस आनंद को याद नहीं करना चाहते जो mod_rewrite है


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


2

यानिस के पास कहने के लिए बहुत अच्छा सामान है लेकिन मैंने पढ़ा, बिल्ड योर ओन डेटाबेस ड्रिवेन वेब साइट, 4 डी एडिशन , और यह सब कुछ मुझे भरी हुई थी जो मुझे पेशेवर PHP वेब एप्लिकेशन विकसित करने के लिए सही रास्ते पर शुरू करने के लिए जानना चाहिए था।

कुछ PHP का काम करने से पहले मैं .NET पर विशेष रूप से काम कर रहा था। PHP के साथ काम करना बहुत आसान है लेकिन बड़े पैमाने पर अनुप्रयोगों को विकसित करते समय कुछ अजीबोगरीब मुद्दे हैं और यह पुस्तक आपको उसी पर शुरू होती है।

मेरे लिए एक मुद्दा यह था कि कैसे PHP कड़ाई से ऑब्जेक्ट ओरिएंटेड भाषा नहीं है। यह प्रक्रियात्मक रूप और ऑब्जेक्ट ओरिएंटेड फॉर्म में सभी प्रकार के कार्य करता है और इसका उपयोग करने में थोड़ी देर लगती है, एक ऐसी भाषा से आती है जहां सब कुछ वर्गों और नामस्थानों में व्यवस्थित होता है।

एक और यह था कि आप कितनी आसानी से PHP में सब कुछ मिला सकते हैं जिससे चीजें बहुत अधिक कठिन हो जाती हैं। .NET में आपके द्वारा उपयोग किए जाने वाले उपकरण, जैसे कि विज़ुअल स्टूडियो, वास्तव में आपके लिए कुछ काम करके अच्छे कोडिंग मानकों का अभ्यास करने के लिए आपका मार्गदर्शन करते हैं। आमतौर पर .aspx पेज में HTML मार्कअप और C # कोड होता है जो दो फाइलों में अलग होता है।

यदि आप .NET टूल के भारी उपयोगकर्ता हैं, और ASP.NET नियंत्रणों के साथ काम करना पसंद करते हैं, फिर भी आपके लिए एक और मुद्दा है PHP में नियंत्रणों की कमी (GridView आदि)। मुझे पता है कि बहुत सारे पुस्तकालय / ढांचे हैं जो आपको कुछ समान देते हैं लेकिन वे मूल PHP पैकेज का बिल्कुल हिस्सा नहीं हैं।

मेरे लिए एक और मुद्दा यह था कि PHP में कैसे था, .NET में संग्रह जैसे अधिक सेवारत Arrays और Hashes का भारी उपयोग है। वे हर जगह हैं और इस तथ्य के लिए इस्तेमाल किया जाना अच्छा होगा कि सरणियाँ केवल उसी प्रकार की वस्तुओं / स्केलर इकाइयों की एक आदेशित सूची नहीं हैं। वे एक संग्रह वस्तुओं के रूप में सभी प्रकार के सामान को घर पर रख सकते हैं।

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


मुझे अपने जवाब में साइटपॉइंट की php किताबों का लिंक मिला है, वे सभी बेहतरीन हैं। क्या आप हमें peculiar issues when developing large scale applicationsपहचाने गए अपने उत्तर को थोड़ा विस्तार दे सकते हैं ? चूंकि आपके पास सेशन के रूप में एक .net बैकग्राउंड है, इसलिए यह जानना उपयोगी होगा कि .net लोगों को क्या लगता है कि php के बारे में अजीबोगरीब है।
यानिस

ठीक है यनीस, मेरे लिए एक मुद्दा यह था कि PHP कैसे कड़ाई से ऑब्जेक्ट ओरिएंटेड नहीं है, इसमें प्रक्रियात्मक रूप और ऑब्जेक्ट ओरिएंटेड फॉर्म में सभी प्रकार के फ़ंक्शन थे और यह थोड़े समय के लिए एक ऐसी भाषा से आने में अभ्यस्त हो जाता है जो कि न केवल व्यवस्थित है सिर्फ कक्षाओं में लेकिन उन सभी के नाम स्थान और सब कुछ।
tsega 3:11

हम्म, यह एक सामान्य मुद्दा है, न कि सिर्फ when developing large scale applications। वैसे भी, मैं वैचारिक और दृष्टिकोण मुद्दों के बारे में अधिक सोच रहा था, जैसे PHP स्केलिंग मुद्दों पर .Net से पूरी तरह से अलग दृष्टिकोण लेता है, ऐसा कुछ। मुझे .Net के साथ बहुत कम अनुभव है इसलिए मुझे यह जानने में दिलचस्पी होगी कि PHP में आने पर .Net लोग वैचारिक रूप से अजीबोगरीब क्या पाते हैं। लेकिन इस तथ्य की तरह कि PHP बहु-प्रतिमान है, निश्चित रूप से अपेक्षित है।
यानि

1
दृष्टिकोण के संदर्भ में, अधिकांश ASP.NET डेवलपर्स अपने "बड़े पैमाने" (डेटा गहन) अनुप्रयोगों को विकसित करने के लिए कस्टम नियंत्रण (घटकों - जो जावास्क्रिप्ट और सर्वर साइड कोड के साथ HTML नियंत्रण का एक संयोजन हैं) का उपयोग करते हैं। यह ज्यादातर इस तथ्य के कारण है कि अधिकांश ASP.NET डेवलपर वास्तव में लगभग एक ही उपकरण का उपयोग करके डेस्कटॉप अनुप्रयोग विकास से वेब विकास में चले गए हैं। इसलिए, वेब विकास में फिट होने के लिए कस्टम नियंत्रण के साथ काम करने के अपने पहले से ही हासिल किए गए कौशल का अनुवाद करने के तरीकों के लिए अधिकांश की तलाश करें।
tsega

इस बुक के साथ मिलने वाली एक बहुत अच्छी IDE है नेटबीन । PHP डीबग करना जितना अच्छा है उतना अच्छा है।
tsega
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.