มาเขียน PHP FrameWork กันเหอะ

Written on March 25, 2008 – 11:32 am | by admin |

Framework มันคืออะไร ?

เอาตามความเข้าใจของผม Framework ก็คือชุดคำสั่ง Libraries หรือ Classes ที่ใช้ในการเขียนและพัฒนาโปรแกรม โดย Framework แต่ละตัวก็จะมีมาตรฐานของตัวมันเอง (ตามที่ผู้สร้าง Framework กำหนด) โดยที่ในตัวโค๊ดของมันเองจะมีโค๊ดที่มีลักษณะเป็น Reuseable หรือเป็นโค๊ดที่เราสามารถนำกลับมาใช้ได้อีก อยู่มากมาย เพื่อให้เราเลือกใช้งาน ซึ่งทำให้เวลาที่เราเขียนโปรแกรมสามารถใช้เวลาในการพัฒนาที่สั้นลงได้เยอะเลย เพราะไม่ต้องมานั่งเขียนโค๊ดเดิมๆซ้ำๆให้เสียเวลา

PHP Framework

มีหลายตัวเลยครับ เยอะจริงๆจะให้ไปศึกษาทั้งหมดผมว่าตายกันพอดี เท่าที่เห็นก็มีดังนี้นะครับ

  • Zend Framework
  • CakePHP
  • Symfony Project
  • Seagull Framework
  • WACT
  • Prado
  • PHP on TRAX
  • ZooP Framework
  • eZ Components
  • CodeIgniter  
  • แล้วจะใช้ตัวไหนดีละเนี่ย ????
    มันก็แล้วแต่คุณจะเลือกใช้ตัวไหนนะครับ แต่ที่ผมอยากจะนำตัว Framework เล็กๆ ใช้งานไม่ยุ่งยาก ขนาดไฟล์เมื่อแตกแล้วประมาณ 1 MB กว่าๆ เล็กดี และเป็น Framework ที่ Base on PHP ล้วนๆครับ สามารถนำไปใช้งานได้บนโฮสปกติทั่วๆไปได้ เพราะ Framework บางตัวต้องลงโปรแกรมของมันบ้าง หรือต้องคอนฟิกอะไรไม่รู้ยุ่งยากไปหมด

    CodeIgniter คือตัวที่ผมแนะนำ

    codeigniter-001.jpg

    ผมไม่ได้บอกว่าตัวนี้ดีที่สุด แต่ผมลองแล้วคิดว่าพัฒนาอะไรได้ง่ายครับ เหมาะกับคนที่เขียน PHP และ Class ได้ในระดับพอใช้งานได้ ก็สามารถเขียน PHP Framework โดยใช้ CodeIgniter ได้แบบไม่ยากเย็นมากนัก

    CodeIgniter เป็น PHP Framework ในรูปแบบของ MVC แต่มีจุดเด่นคือ

    • มีขนาดเล็ก

    • ใช้งานง่ายเพราะแค่แตกไฟล์มาก็เอามาใช้ได้เลย

    • เป็น Framework แบบ DIY (Do IT Yourself) คือจะเขียนอะไรก็ทำเอง ดีตรงที่ไม่ต้องเจอไฟล์แปลกๆที่ไม่รู้ว่ามันทันสร้างมาตอนไหน

    • แหกกฏ MVC เล็กน้อย คือมีแค่ controller กับ view ก็ทำงานได้แล้ว

    • มีคู่มือมาให้ค่อนข้างละเอียด

    แต่ที่ชอบแน่นอนคือติดตั้งง่าย เพราะ FTP ลง server ก็ใช้ได้เลยไม่ต้องอะไรยุ่งยากมากมาย และที่ผมชอบตัวนี้เพราะเราต้องเขียนโค๊ดโปรแกรมเอง ซึ่งเป็นสิ่งที่ผมชอบ เพียงแต่เราเอามาพัฒนาบนฐานของ Framework ก็พอ

    codeigniter-002.jpg
    เขียนเล่นๆดูครับ

    ตัวอย่างโค๊ดในหน้านี้ก็คือ

    <?php
    class Blog extends Controller {

     function index()
     {
      $this->load->view(’blog/header’);
      $this->load->view(’blog/body’);
      $this->load->view(’blog/footer’);
     }
    }
    ?>

    เขียนแนวๆนี้แหล่ะ
    ส่วนการเรียก URL ก็ใช้ RewriteEngine ซะเพื่อให้ URL มันออกมาแบบสวยงามและตรงตามหลักการทำ SEO ครับ ลองโหลดไปศึกษากันดูได้ที่เว็บไซต์ http://codeigniter.com/

    1. 6 Responses to “มาเขียน PHP FrameWork กันเหอะ”

    2. By นกแอร์ on Mar 31, 2008 | Reply

      framework กับ library ไม่เหมือนกันนะครับ ต่างกันโดยสิ้นเชิงเลยครับ ลองพยายามทำความเข้าใจ 2 คำนี้ใหม่นะครับ ลองหาอ่านความแตกต่างระหว่าง 2 คำนี้ได้ตาม บอร์ดที่เกี่ยวกับ IT ทั่วๆไป หรือจาก wiki ก็ได้ครับ

      ได้ลอง frameworkตัวอื่นๆบ้างหรือเปล่าครับ ถึงตัดสินใจว่าตัวที่กำลังใช้อยู่นั้นดีแล้วครับ?

      แล้วตัวอื่นๆคิดว่าไม่ดี หรือดีน้อยกว่ายังไงครับ? ขอเหตุผลหน่อยครับ แบบนี้เหมือนฟังความข้างเดียวยังไงชอบกลนะครับ

    3. By admin on Mar 31, 2008 | Reply

      คุณ นกแอร์ ลองกลับไปอ่านดูดีๆนะ
      ผมไม่ได้บอกว่าตัวนี้ดีที่สุด
      ผมบอกว่ามันเหมาะกะคนที่เขียนพวก class ได้ต่างหาก
      เพราะมันรันบน hosting ปกติได้เลย
      ไม่เหมือนบางตัวที่มันต้องมีระบบรองรับบนโฮสนะครับ

      ส่วนที่ว่า framework กับ library ความหมายมันไม่เหมือนกัน มันก็ใช่ (แต่ผมว่ามันคล้ายกันอ่ะ ลองไปไล่ๆดูดิ มันมี class ให้เลือกใช้อยู่เยอะอ่ะ ของที่มีให้เลือกใช้เขาก็เรียก library ไม่ใช่เหรอ) แต่เข้าใจแบบว่าคำว่าลูกทุ่งๆไหมครับ ที่จะอธิบายให้คนที่ไม่เป็นคอมรู้ว่าไอ้ตัว Framework เนี่ย มันสามารถเรียกความสามารถของแต่ละอย่างที่เขามีไว้แล้วมาใช้ได้ ไม่ต้องไปเปืดดูใน wi-ki หรอก เพราะผมเปิดประจำแค่จะบอกเป็นภาษาบ้านๆให้เข้าใจง่ายๆก็พอ

      เอาคำว่า ดอตเน็ตเฟรมเวิร์ก ใน วิกิละกัน
      ดอตเน็ตเฟรมเวิร์ก (.NET Framework) คือแพลตฟอร์มสำหรับพัฒนาซอฟต์แวร์สร้างขึ้นโดยไมโครซอฟท์ โดยรองรับภาษาดอตเน็ตมากกว่า 40 ภาษา[1] ซึ่งมีไลบรารีเป็นจำนวนมากสำหรับการเขียนโปรแกรม

      สังเกตุอ่านครับ มันมี “ไลบรารีเป็นจำนวนมากสำหรับการเขียนโปรแกรม” มันต่างกันตรงไหนกะที่ผมว่ามันมี library หรือ class ให้เลือกใช้อ่ะครับ

      ผมไม่ได้เขียนแบบวิชาการจ๋า ใครอยากรับก็รับ ใครไม่อยากรับก็ไม่ต้องรับ ลองอ่านดูหน้าแรกของผมดูดีๆ ผมเขียนบอกไว้แล้วว่าผมเขียน Blog ของผมแนวไหนนะ

    4. By นกแอร์ on Mar 31, 2008 | Reply

      นิดนึงนะครับ framework กับ .net framework ก็ไม่เหมือนกันนะครับผม :) ความหมายไม่เหมือนกันครับ

      เช่น J2SE ก็ถือว่าเป็น framework ตัวนึงเช่นกันครับ ซึงจะเห็นได้ว่า j2SE ไม่ใช่ library

    5. By นกแอร์ on Mar 31, 2008 | Reply

      ผมกลับไปอ่านที่ผม Comment ดูแล้ว รู้สึกไม่ค่อยดีเลยครับ เหมือนจะทำให้เข้าใจอะไรผิด หรือทำให้รู้สึกเหมือนผมจะมาอวดรู้ยังไงชอบกลครับ อีกอย่างตัวหนังสือมันไม่ได้มีน้ำเสียงด้วยมั้งครับ ก็เลยดูเหมือนผมจะเขียนไปทาง negative เอาเป็นว่าผมขออภัยมา ณ ที่นี้ด้วยนะครับ

      ยังไงผมจะพิจารณาปรับรุงคำพูด และระวังให้มากกว่านี้ก่อนกด Submit นะครับ

    6. By admin on Mar 31, 2008 | Reply

      เอาเป็นว่าเจ๊ากัน 555

      เพราะใน Blog ตอนนี้ ผมอยากให้คนลองมาหัดเล่น Framework เท่านั้น ส่วนเรื่องความหมายอะไรมันไม่ได้เน้นมาก เพราะหาอ่านกันได้เยอะแยะ

      เลยแนะนำตัวที่คิดว่าง่ายๆ ไม่ซับซ้อน และ มาทำในแบบ DIY กันเอาเองเท่านั้น (อยากให้ลองหัดเขียนกันเอาเอง)

      ส่วน Framework ตัวอื่นๆมันก็มีดีกว่านี้ก็เยอะ เพียงแต่ผมชอบตัวนี้ที่มันรันในแบบ php ล้วนๆเท่านั้นเอง (ชอบที่สุดก็ตรงต้องทำเองในส่วนโค๊ด)

      หากมีอะไรแนะนำมาก็ comment ได้เลยเต็มที่
      ผมชอบ เพราะการที่คนมาถกเถียงกัน มันทำให้เกิดแนวคิดครับ

    1. 1 Trackback(s)

    2. Sep 3, 2008: U call me MAX : : ที่นี่มีให้มากกว่าคำว่า “บ่น” » Blog Archive » Framework คือสิ่งที่ต้องการหรือไม่ ?

    You must be logged in to post a comment.

    I want to Talk!

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

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

    ผมไม่ได้เป็นนักวิชาการ ไม่ใช่ท่านด๊อก หรือ ปรมจารย์ที่ไหน ดังนั้นอย่าอะไรกะผมมาก เขียนอะไรผิดไปก็ขอโทษทุกๆคนด้วย

    นายแม็ค


    หากผมออนไลน์ก็มาคุยกันได้นะ...
    ค้นหา :