เป็นวิธีที่ดีในการทำความคุ้นเคยกับ PHP มาจากพื้นหลัง ASP.NET อะไร [ปิด]


10

ขณะนี้ฉันรู้สึกสบายใจกับเครื่องมือสร้าง / เว็บแอพในสภาพแวดล้อม ASP.NET ฉันไม่ต้องการออกจาก tbh เพราะฉันชอบ C #, ASP.NET, MVC 3, Visual Studio และอื่น ๆ

อย่างไรก็ตามตอนนี้ฉันไม่รู้อะไรเกี่ยวกับ PHP และดูเหมือนว่าเป็นข้อบกพร่องที่ฉันต้องการแก้ไข

มีหนังสือ (หรือวิธีการเรียนรู้อื่น ๆ ) ที่จะเป็นแหล่งข้อมูลที่ดีสำหรับการเรียนรู้ PHP หรือไม่? เห็นได้ชัดว่ามีหนังสือ PHP เริ่มต้นมากมาย แต่ฉันก็พอใจกับสิ่งที่เกี่ยวข้องกับการสร้างหน้าเว็บและสนใจที่จะมุ่งเน้นไปที่ PHP เองซึ่งอาจไม่เข้ากันกับขอบเขตของหนังสือ PHP เริ่มต้นบางเล่ม

ฉันอ่านคู่มือ PHP ค่อนข้างน้อยและดูเหมือนจะไม่ลื่นไหลอย่างที่ควรจะเป็น มีหนังสือ PHP เริ่มต้นที่เหมาะสมหรือไม่ ฉันคิดถึงความกลมกลืนที่หนังสือส่วนใหญ่มีเมื่อดูตัวอย่างเหล่านั้น มีข้อมูลอีกมากมาย แต่มันให้ความรู้สึกเหมือนเป็นข้อมูลอ้างอิงในขณะที่เขียนโค้ดมากกว่ายานยนต์สำหรับการเรียนรู้หลัก


5
ทำไมคุณคิดว่าไม่รู้ PHP เป็นข้อบกพร่องที่คุณต้องแก้ไข ไม่ทราบว่า Rails, Django, J2EE, node.js และอื่น ๆ ที่คุณต้องการแก้ไขคืออะไร? มีความต้องการที่แท้จริงสำหรับคุณที่จะรู้และใช้ PHP ในสายงานการจ้างงานปัจจุบันของคุณหรือไม่?
Raynos

1
@ Raynos ความนิยมของ php นั้นใหญ่กว่า rails, django, node.js รวมกัน ...
yannis

ทำไม (ไม่ใช่เปลวไฟ) คุณต้องการทำให้ PHP ดีขึ้นหรือไม่ เป็นการเรียนรู้ที่จะพัฒนาในสภาพแวดล้อมที่มีการตีความและมีความหมายมากกว่าเพราะมีอยู่มากมาย?
sbrenton

1
@Raynos - ส่วนแบ่งการตลาด อัตราต่อรองของความรู้เกี่ยวกับ PHP เป็นประโยชน์ในการเปรียบเทียบการแก้ปัญหาประเมินปัญหาช่วยเหลือเพื่อน ฯลฯ สูงกว่าตัวอย่างที่คุณแสดงไว้ IMO ฉันไม่มีความปรารถนาที่จะย้ายออกจาก asp.net ดังนั้นการรู้ว่าสภาพแวดล้อมทางเลือก "ดีที่สุด" นั้นมีประโยชน์น้อยกว่าการได้รับความนิยมมากที่สุด
เอริค

1
เข้าสู่ MVC3 ซึ่งอาจเป็นก้าวแรกที่ดี
Daniel Little

คำตอบ:


7

ทรัพยากรที่ดีที่สุดออกมีการเรียนรู้ PHP เป็นคู่มือ PHP มันเขียนได้ดีและมีโครงสร้างที่ดีมากและเป็นหนึ่งในสินทรัพย์ที่ใหญ่ที่สุดของชุมชน PHP หากคุณมั่นใจใน ASP.net คู่มือก็เพียงพอที่จะเริ่มต้นใช้งาน

ก่อนที่คุณจะเริ่มอ่านคุณควรตั้งค่าสแต็ก PHP คุณสามารถติดตั้ง Apache, PHP และฐานข้อมูลที่คุณชื่นชอบ (SQLServer เป็นดี) ด้วยตัวเอง (มันง่ายมาก) หรือคุณอาจจะติดตั้งสแต็คสำเร็จรูปเช่นXAMPP XAMPP จะติดตั้ง:

ทั้งหมดในครั้งเดียว (รวมถึงสิ่งอื่น ๆ ) ไลบรารี่ที่สำคัญอย่างหนึ่งที่ขาดหายไปคือphpUnitซึ่งจะช่วยคุณในการทดสอบหน่วย

แล้วคุณควรติดตั้ง IDE, ตัวเลือกที่ชัดเจนของคุณคราสคลาสสิกที่มีเครื่องมือสำหรับการพัฒนา PHP (PDT) หรือNetbeans สำหรับ PHP มีคนอื่นอีกมากมาย แต่ฉันขอแนะนำสองข้อนี้ ฉันใช้ทั้งสองอย่างถ้าคุณไม่สามารถเลือกระหว่างพวกเขาได้ Netbeans ง่ายกว่านิดหน่อย แต่คุณควรประเมินทั้งคู่และตัดสินใจด้วยตัวคุณเองว่าอันไหนดีกว่าสำหรับคุณ - ฉันไม่ได้ทำงานกับ Visual Studio ใน เป็นเวลานานและฉันไม่รู้ว่า IDE คนไหนที่คุณคุ้นเคย

เมื่อคุณได้รับข้อมูลพื้นฐานจากคู่มือคุณควรเริ่มคิดถึงกรอบ MVC อีกครั้งฉันจะแนะนำสอง:

Zend Framework เป็นสัตว์ร้ายและ CodeIgniter คือความงามถ้าคุณยอมให้ฉันอุปมาโง่ ๆ Zend Framework มีช่วงการเรียนรู้ที่สูงชันได้รับการสนับสนุนโดยZend ( บริษัท ที่อยู่เบื้องหลัง PHP ) และคุณสามารถทำเกือบทุกอย่างได้ CodeIgniter ง่ายกว่ามากที่จะได้รับการแขวนมีเอกสารที่ดีสำหรับผู้เริ่มต้นและเป็นที่นิยมค่อนข้าง แต่ส่วนใหญ่ของโค้ดเบสนั้นล้าสมัยเพราะพวกเขาเคยสนับสนุน PHP4 เมื่อไม่นานมานี้

สำหรับผู้เริ่มต้นตัวเลือกที่ชัดเจนคือ CodeIgniter แต่อย่าไปยุ่งกับมัน ใช้เป็นเครื่องมือการเรียนรู้และย้ายไปที่ Zend Framework โดยเร็วที่สุด อีกครั้งมีกรอบ MVC มากขึ้นในโลก PHP แต่ทั้งสองเป็นกรอบที่ฉันแนะนำ

สำหรับหนังสือหนังสือเริ่มต้นที่ไม่ดีคือวัตถุ PHP, รูปแบบและการปฏิบัติ หนังสือ PHPของSitepointมีความสุขที่ได้อ่าน ถ้าคุณตกอยู่ในความรักกับ PHP คุณควรพิจารณาการสมัครสมาชิกกับPHP สถาปนิก

สุดท้ายตรวจสอบการอภิปรายที่ดีเกี่ยวกับเรื่องนี้ด้วยเหตุผลทางเทคนิคอย่างหมดจดสำหรับ PHP เป็นตัวเลือกแรก


อัปเดต: แหล่งข้อมูลออนไลน์เพิ่มเติมอีกเล็กน้อยซึ่งส่วนใหญ่กำหนดเป้าหมายไปยังผู้เริ่มต้น:

และถ้าด้วยเหตุผลแปลกบางอย่างที่คุณต้องการที่จะเล่นรอบกับ PHP บน IIS แทน Apache ที่ดีสถานที่เริ่มต้นคือไมโครซอฟท์PHP บน Windows PHP บน IIS ใช้งานได้และเป็นตัวเลือกที่ถูกต้องโดยเฉพาะสำหรับนักพัฒนา. Net แต่คุณควรไปกับ Apache (และ MySQL หรือ PostgreSQL แทน SQLServer) เพื่อรับประสบการณ์ PHP ที่สมบูรณ์และยังมั่นใจได้ว่า ระบบปฏิบัติการ คุณไม่ต้องการที่จะพลาดโอกาสในความสุขที่เป็นmod_rewrite


บันทึกส่วนตัว: มีจำนวนมากของความเกลียดชังลอยรอบสำหรับ PHP เป็นบางส่วนของมันเป็นธรรม หากคุณตัดสินใจที่จะทำเช่นนั้นคุณจะต้องมีความสำคัญอย่างยิ่งต่อทรัพยากร PHP สคริปต์ห้องสมุดที่คุณจะพบเจอตลอดทางมีอึมากเกินไปและเป็นไปไม่ได้ที่ผู้เริ่มต้นจะทราบถึงความแตกต่าง ความนิยมอย่างมากของ PHP สามารถแปลไปยังชุมชนที่ใหญ่และเป็นประโยชน์มากความสามารถในการทำการตลาดขนาดใหญ่ของคุณนับล้านต่อบล็อกนับล้าน แต่ก็สามารถแปลเป็นเส็งเคร็งสองสามพันเทราไบต์


2

Yannis มีสิ่งที่ดีมากมายที่จะพูดที่นั่น แต่ฉันอ่านสร้างเว็บไซต์ฐานข้อมูลของคุณขับเคลื่อนรุ่นที่ 4และเต็มไปด้วยทุกสิ่งที่ฉันจำเป็นต้องรู้เพื่อเริ่มต้นบนเส้นทางที่ถูกต้องในการพัฒนาเว็บแอพพลิเคชัน PHP ระดับมืออาชีพ

ฉันยังทำงานเฉพาะบน. NET ก่อนที่ฉันจะเริ่มทำงาน PHP บางอย่าง PHP นั้นทำงานได้ง่ายกว่ามาก แต่มีปัญหาแปลก ๆ เมื่อพัฒนาแอปพลิเคชั่นขนาดใหญ่และหนังสือเล่มนี้จะทำให้คุณเริ่มต้นได้

ประเด็นหนึ่งสำหรับฉันคือ PHP ไม่ได้เป็นภาษาเชิงวัตถุอย่างเคร่งครัด มันมีฟังก์ชั่นทุกประเภทในรูปแบบขั้นตอนและรูปแบบ Object Oriented และมันใช้เวลาสักครู่ในการทำความคุ้นเคยมาจากภาษาที่ทุกอย่างถูกจัดเป็นคลาสและเนมสเปซ

อีกวิธีหนึ่งคือคุณสามารถรวมทุกอย่างใน PHP ทำให้สิ่งต่างๆยากขึ้นได้อย่างมาก ใน. NET เครื่องมือที่คุณใช้เช่น Visual Studio แนะนำให้คุณฝึกการเขียนโปรแกรมมาตรฐานที่ดีโดยการทำงานให้คุณ โดยปกติแล้วหน้า. aspx จะมี HTML Markup และรหัส C # แยกออกเป็นสองไฟล์

หากคุณเป็นผู้ใช้เครื่องมือ. NET ขนาดใหญ่และต้องการทำงานกับตัวควบคุม ASP.NET ส่วนอีกตัวเป็นปัญหาสำหรับคุณที่จะขาดการควบคุม (GridView และอื่น ๆ ) ใน PHP ฉันรู้ว่ามีไลบรารี / กรอบงานจำนวนมากที่ให้บางสิ่งที่คล้ายกัน แต่พวกเขาไม่ได้เป็นส่วนหนึ่งของแพ็คเกจ PHP พื้นฐาน

ปัญหาอีกประการสำหรับฉันก็คือวิธีใน PHP มีการใช้งานอาร์เรย์และแฮชอย่างหนักเพื่อให้บริการเหมือนกับคอลเลกชันใน. NET พวกมันอยู่ทุกหนทุกแห่งและมันก็เป็นการดีที่จะคุ้นเคยกับความจริงที่ว่าอาร์เรย์ไม่ได้เป็นเพียงรายการสั่งซื้อของวัตถุ / สเกลาร์ชนิดเดียวกัน พวกเขาสามารถเซิร์ฟเวอร์เป็นวัตถุรวบรวมเพื่อเก็บสิ่งของทุกประเภท

ฉันสามารถไปเรื่อย ๆ แต่พูดถึงหนึ่งในสิ่งสำคัญที่ฉันพบว่าแปลกประหลาดมากกับ PHP (ฉันไม่รู้ว่ามันอาจเป็นเรื่องธรรมดาในภาษาอื่น) คือความถี่ที่ใช้ฟังก์ชัน "รวม" (และที่เกี่ยวข้อง) ธรรมดามาก ฉันสามารถพูดได้ว่าหนังสือจาก Sitepoint จะช่วยให้คุณเข้าใจสิ่งเหล่านี้ได้อย่างรวดเร็ว


ฉันมีลิงก์ไปยังหนังสือ php ของ Sitepoint ในคำตอบของฉันมันยอดเยี่ยมมาก คุณช่วยขยายคำตอบให้หน่อยเพื่อบอกเราถึงสิ่งที่peculiar issues when developing large scale applicationsคุณระบุได้หรือไม่? เนื่องจากคุณมีพื้นหลัง. net เป็น op ดังนั้นการรู้ว่าผู้ใช้ net รู้สึกอย่างไรนั้นมีความแปลกเกี่ยวกับ php
yannis

ตกลง Yannis, ปัญหาหนึ่งสำหรับฉันคือวิธีที่ PHP ไม่เคร่งครัด Object Oriented แต่ก็มีทุกประเภทของฟังก์ชั่นในรูปแบบขั้นตอนและรูปแบบ Object Oriented และมันใช้เวลาสักครู่เพื่อรับใช้มาจากภาษาที่จัดเป็นไม่เพียง เป็นคลาสเพียง แต่ทุกชื่อพื้นที่และทุกอย่าง
tsega

when developing large scale applicationsอืมที่เป็นปัญหาทั่วไปไม่ได้เป็นเพียง ยังไงก็ตามฉันคิดประเด็นเกี่ยวกับแนวความคิดและวิธีการเพิ่มเติมเช่น PHP ใช้แนวทางที่แตกต่างอย่างสิ้นเชิงจาก. Net เกี่ยวกับการปรับขนาดปัญหาเช่นนั้น ฉันมีประสบการณ์น้อยมากกับ. Net ดังนั้นฉันจึงสนใจที่จะค้นหาว่าผู้ใช้งาน. NET จะพบกับแนวคิดที่แปลกประหลาดเมื่อมาถึง PHP แต่สิ่งที่ต้องการความจริงก็คือ PHP ต้องมีกระบวนทัศน์ที่หลากหลาย
yannis

1
ในแง่ของวิธีการนักพัฒนา ASP.NET ส่วนใหญ่มักจะใช้การควบคุมแบบกำหนดเอง (ส่วนประกอบ - ซึ่งเป็นการรวมกันของการควบคุม HTML กับ Javascript และโค้ดด้านเซิร์ฟเวอร์) เพื่อพัฒนาแอปพลิเคชัน "ขนาดใหญ่" (ใช้ข้อมูลจำนวนมาก) นี่คือสาเหตุหลักมาจากความจริงที่ว่านักพัฒนา ASP.NET ส่วนใหญ่ได้ย้ายไปยังการพัฒนาเว็บจากการพัฒนาแอปพลิเคชันเดสก์ท็อปโดยใช้เครื่องมือเดียวกันเกือบทั้งหมด ดังนั้นส่วนใหญ่หาวิธีในการแปลทักษะที่ได้มาแล้วของพวกเขาในการทำงานกับการควบคุมที่กำหนดเองเพื่อให้สอดคล้องกับการพัฒนาเว็บ
tsega

IDE ที่ดีมากที่จะได้มีหนังสือเล่มนี้เป็นNetbeans การดีบัก PHP นั้นดีเท่าที่จะทำได้
tsega
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.