ฉันอยู่ในช่วงเปิดตัวโครงการ PHP โอเพนซอร์สซึ่งฉันหวังว่าจะถูกใช้โดยผู้พัฒนารายอื่นในโครงการของตนเอง โครงการไม่รองรับ namespaces ในปัจจุบันและฉันพยายามประเมินว่าควรใช้ namespaces หรือแบบแผนการตั้งชื่อ PEAR ของ Dir_Subdir_Class ซึ่งดูเหมือนว่าจะได้รับประโยชน์ทางเทคนิคเดียวกันทั้งหมดโดยไม่มีข้อเสีย ความซื่อสัตย์ไม่ใช่ทางเลือกที่ง่าย
บางจุดของการพิจารณากับ namespaces:
- อีกวิธีหนึ่งที่โครงการของฉันพยายามสร้างความแตกต่างด้วยการจัดทำ API ที่ง่ายกว่าโครงการที่คล้ายกันอื่น ๆ เนื่องจากเนมสเปซเป็นของใหม่และเพราะมันซับซ้อนกว่าแบบแผนการตั้งชื่อ PEAR การแนะนำให้ใช้ใน codebase จะทำให้โครงการของฉันใช้งานได้ง่ายขึ้น ด้วยการใช้พวกเขาทำให้สูญเสียความแตกต่างในแง่ของความง่ายในการใช้งาน
- ในขณะที่ฉันเห็นประโยชน์บางประการต่อ namespaces พวกเขาดูเหมือนจะไม่สามารถแก้ปัญหาที่ต้องแก้ไขในผลิตภัณฑ์ PHP ที่ทันสมัยซึ่งใช้หลักการตั้งชื่อ PEAR ความขัดแย้งของการตั้งชื่อในขณะที่ใช้โครงการของฉันควรน้อยที่สุดหากไม่มีอยู่จริง
- นี้บทความให้ฉันหยุดบางส่วนในการนำ namespaces การดำเนินการของพวกเขาได้รับน้อยกว่าที่เป็นตัวเอก
- ฉันยังลังเลที่จะกระโดดขึ้นไปบนเกวียนที่ไม่สามารถไปได้ทุกที่ เนื่องจากเนมสเปซเป็นฟีเจอร์ใหม่สำหรับ PHP ฉันยังไม่มั่นใจว่ามันจะกลายเป็นมาตรฐาน
- ความเข้ากันได้ โค้ด PHP เกือบทั้งหมดที่เคยเขียนไม่ได้ใช้เนมสเปซเพราะเป็นคุณสมบัติใหม่ ห้องสมุดอื่น ๆ จะเข้ากันไม่ได้หากไม่มีการแปลง
บางจุดสำหรับการใช้เนมสเปซ:
- ความเข้าใจ หากเนมสเปซกลายเป็นมาตรฐานและเป็นแนวปฏิบัติที่ดีที่สุดโครงการของฉันอาจถูกมองว่าไม่เป็นมืออาชีพและล้าสมัยอย่างรวดเร็วหากไม่มีพวกเขา
- การแข่งขัน ในขณะที่บางโครงการ PHP ที่แข่งขันกันกำลังเริ่มใช้เนมสเปซในเวอร์ชันล่าสุดของพวกเขา แต่หลาย ๆ โครงการยังไม่ก้าวกระโดด การทำเช่นนั้นสามารถทำให้โครงการของฉันเป็นโครงการอื่นได้
- งานในอนาคตจะง่ายขึ้นถ้าฉันทำสวิตช์ตอนนี้ก่อนที่โครงการจะเผยแพร่สู่สาธารณะมากกว่าหลังจากนั้นฉันจะต้องสนับสนุนสองรุ่นในขณะที่
- ฉันต้องการสนับสนุนแนวทางปฏิบัติที่ดีที่สุดและหากเนมสเปซกลายเป็นแนวปฏิบัติที่ดีที่สุดสำหรับ PHP โครงการของฉันควรใช้ประโยชน์จากพวกเขา
จากสิ่งที่ฉันสามารถบอกได้คุณต้องเลือกทางเดียวหรืออื่น ๆ ; คุณทำทั้งสองอย่างไม่ได้ มีจุดใดบ้างที่ฉันไม่ได้พิจารณา มีสัญญาณบ่งชี้ใด ๆ (ไม่มีข้อบกพร่องโปรด) ที่ชี้ไปทางหรือต่อต้านเนมสเปซกลายเป็นมาตรฐานระดับมืออาชีพสำหรับ PHP? ฉันขอขอบคุณข้อมูลเชิงลึกหรือแหล่งข้อมูลที่คุณยินดีที่จะแบ่งปันในขณะที่ฉันต้องตัดสินใจในไม่ช้า