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

Tuesday, March 25th, 2008

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/

    Editor's Talk!

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

    นายแม็ค

    ค้นหา :