[PHP] — Phalcon C-ext framework

Master
Artisan Brain Academy
2 min readAug 4, 2019

สวัสดีครับ วันนี้ทางทีมงานจะมานำเสนอ PHP Framework ที่มีคุณสมบัติที่แตกต่างจาก Framework เจ้าอื่นๆ อย่าง Laravel, CodeIgnitor, Slim หรือ Zend คือ เป็น Framework ที่ถูกเขียนด้วยภาษา C ใช่ครับ!! ฟังไม่ผิด ชื่อว่า Phalcon (https://phalconphp.com/th/) ซึ่งปัจจุบันได้พัฒนาเป็น version 4.0 คุณสมบัติพิเศษคือ สามารถติดตั้งโดยการ เพิ่มเข้าไปใน extension ในไฟล์​ php.ini และสามารถเรียกใช้จาก Namespace ได้เลยครับ

สามารถอ่านวิธีการติดตั้งได้จากเว็บไซด์ https://docs.phalconphp.com/4.0/en/installation ได้เลยครั

เมื่อติดตั้งเสร็จแล้วขอแนะนำเครื่องมือ dev tools ที่ช่วยในการสร้างโปรเจคง่ายๆ คล้ายคำสั่ง php artisan ของ laravel โดยสามารถติดตั้งได้จาก https://github.com/phalcon/phalcon-devtools

เมื่อติดตั้ง dev tools เสร็จแล้วเรามาดูว่ามีคำสั่งอะไรให้ใช้งานกันบ้างโดยใช้คำสั่งว่า

phalcon <ENTER>
รายการคำสั่งต่างๆที่ใช้ได้ใน Phalcon command line

คำสั่งที่น่าสนใจที่จะลองให้ดูคือคำสั่งว่า scaffold คือคำสั่งที่ช่วย สร้างหน้าจอ พร้อมผูกกับข้อมูลในฐานข้อมูลให้เรียบร้อยสำหรับทำ CRUD คื (C )reate =หน้าจอสำหรับเพิ่มข้อมูล, (R)ead = หน้าจอสำหรับแสดงข้อมูล, (U)pdate = หน้าจอสำหรับแก้ไขข้อมูล, (D)elete = หน้าจอสำหรับลบข้อมูล

มาเริ่มสร้างโปรเจคทดสอบการทำงานกันดีกว่าครับผม

  1. สร้างโปรเจคโดยใช้คำสั่ง phalcon project <ชื่อโปรเจค>
  2. สร้างตาราง product ไว้เก็บข้อมูล เกี่ยวกับสินค้าแบบง่ายๆ product(product_id, product_name)
  3. แก้ไขไฟล์ config เพื่อต่อกับฐานข้อมูลให้ถูกต้อง ผมใช้ MariaDB
  4. สร้างแบบฟอร์มต่างๆ CRUD โดยใช้คำสั่ง phalcon scaffold

สร้างโปรเจคที่มีชื่อว่า shop โดยใช้คำสั่งว่า phalcon project shop

จากนั้นจะเห็นโครงสร้างของโปรเจค shop หน้าตาแบบนี้นะครับ

โครงสร้างโปรเจค shop

จากนั้นทดสอบรันโดยเปิด web browser ดูนะครับจะได้หน้าตาแบบนี้

หน้าจอแรกเมื่อรันเข้า http://localhost/shop

สร้างตาราง product ด้วยคำสั่ง

CREATE TABLE IF NOT EXISTS product (  product_id INT AUTO_INCREMENT,  product_name VARCHAR(255) NOT NULL,  PRIMARY KEY (product_id))ENGINE=INNODB;

แก้ไขไฟล์ /app/config/confg.php โดยใส่ dbname, username, password ให้ตรงกับฐานข้อมูลที่เราสร้างตาราง product ไว้

ใช้คำสั่ง phalcon scaffold สร้าง หน้าจอ ที่ต่อกับฐานข้อมูลเพื่อจะทำ CRUD ได้โดยไม่ต้องเขียนโค้ดเยอะ !!

จากนั้นเปิด web browser พิมพ์​ http://localhost/shop/product แล้ว สามารถเพิ่มข้อมูลได้เลย ดังภาพนี้

ข้อควรระวัง ให้ตรวจสอบ ไฟล์​ <ชื่อตาราง>Controller.php ว่า attributes ต่างๆ ชื่อตรงกับ column ในตารางที่เราต้องการบันทึกหรือไม่

ยังไงก็ลองทดสอบกันดูนะครับ ถ้าติดปัญหาในการติดตั้ง และใช้งานสามารถ comment ได้ที่นี้ หรือที่ FB: Artisan Brain Academy ได้นะครับ

แล้วพบกันใหม่
Happy Coding..!

--

--