Kotchasan PHP Framework

เราจะลดเวลาการเขียนโค้ดลงได้อย่างไร

ถ้าจะพิจารณาโครงสร้างของเว็บไซต์โดยทั่วๆไปเราจะพบว่าเว็บไซต์ต่างๆล้วนมีระบบเริ่มต้นที่คล้ายคลึงกัน
        
  1. ระบบสมาชิก
        1.1 ระบบลงทะเบียนสมาชิก
        1.2 ข้อมูลส่วนบุคคล (แก้ไขข้อมูลส่วนตัว)
        1.3 ระบบลืมรหัสผ่าน
        1.4 ระบบ Login, logout
  2.     
  3. หน้าเว็บ
        2.1 ระบบแสดงหน้าเว็บไซต์ทั่วไป ใช้สำหรับแสดงผลเว็บไซต์เช่นหน้า Home
        2.2 ระบบจัดการหน้าเว็บ (เขียน - แก้ไข หน้าเว็บไซต์)
  4.     
  5. ระบบเมนู
สิ่งเหล่านี้คือความต้องการพื้นฐานของระบบเว็บไซต์ ที่ทุกเว็บต้องมี และมันคือเหตุผลหลักที่ผมสร้าง GCMS ขึ้นมาเพื่อใช้เป็นโครงสร้างหลักของเว็บไซต์ที่ผมเป็นคนออกแบบ

แต่เนื่องจาก GCMS เป็นระบบ CMS ทำให้ในการนำไปใช้งานเป็นระบบเว็บไซต์บางประเภทมันยังใหญ่โตอยู่ดี เนื่องจากต้องนำส่วนประกอบอื่นๆของมันไปด้วย (ถึงแม้จะถอดโมดูลทั้งหมดที่ถอดได้ออกแล้ว) ผมจิงคิดถึงการออกแบบระบบพื้นฐานของเว็บไซต์ใหม่ โดยทำให้เป็นแค่ เฟรมเวิร์ค แทน ซึ่งมันคือ จุดเริ่มต้นของ คชสาร

เงื่อนไขในการออกแบบ คชสาร ที่ผมตั้งไว้แต่เริ่มต้น
        
  1. เร็ว อันนี้เป็นจุดเด่นที่ผมมี ซึ่งน่าจะหาใครมาเทียบยาก
  2.     
  3. ต้องสามารถทำเป็น CMS ได้ เพราะคชสารถูกออกแบบมาเพื่อทดแทนข้อจำกัดของ GCMS โดยตรง และผมยังคงต้องพัฒนา GCMS ต่อ เนื่องจากมีผู้ใช้งานเป็นจำนวนมาก
  4.     
  5. ง่าย เนื่องจากมีคนเข้าใจ GCMS จริงๆน้อยมาก ส่วนหนึ่งอาจเป็นเพราะผมไม่มีคู่มือการใช้งาน ทำให้การดัดแปลงยังคงค่อนข้างอยู่ในวงจำกัด แต่คนที่สามารถดัดแปลง GCMS ได้เขาก็ทำได้น่าทึ่งทีเดียว (เอาซะผมจำเกือบไม่ได้ก็มี)
  6.     
  7. อยากเขียนคู่มือการใช้งาน อันนีัเป็นเหตุผลส่วนตัวจริงๆ เนื่องจากเป็นคนที่ไม่ชอบอ่านและเขียนคู่มือ (ผมว่าผมดูโค้ดเลยยังเข้าใจว่ามันทำอะไรได้ดีกว่าอ่านจากคู่มือ เพราะเราจะเห็นอะไรหลายอย่างที่คู่มือไม่ได้บอกไว้) ซึ่งถ้าผมจะดัน คชสาร ให้เกิดขึ้นจริงๆ ผมคงต้องทำคู่มือด้วยเท่านั้น
ทั้งหมดนี้คือเหตุผลที่ผมใช้ในการออกแบบ คชสาร ครับ ซึ่งมันช่วยลดเวลาการโค้ดลงได้จริง 50%-70% เลยทีเดียว (ครึ่งปีแรกของปี พศ.2557 ซึ่งอยู่ระหว่างการพัฒนา คชสาร ผมพัฒนาโปรเจ็คใหม่ไปพร้อมกับการพัฒนา คชสาร ด้วย)  ซึ่งโดยหลักการแล้ว ไม่ว่าคุณจะพัฒนาด้วยภาษาอะไร หรือใช้เฟรมเวิร์คอะไรในการพัฒนา คุณก็สามารถพัฒนาระบบพื้นฐานไว้ช่วยลดการโค้ดลงได้ทั้งสิ้น

ผมหวังว่าคุณจะมีความสุขในการเขียนโค้ดเพิ่มขึ้นนะครับ