Phalcon là gì

Phalcon là gì? Phalcon là framework PHP như Laravel nhưng có kiến trúc rất đặt biệt. Vì nó được thiết kế cho mục tiêu: chạy nhanh nhất.


Mục lục


Phalcon là gì?

Phalcon là gì và có gì hay? Bài viết sẽ giới thiệu các đặc điểm kỹ thuật, ưu khuyết điểm của Phalcon để bạn có thể biết một cách tổng lược về nó.

Phalcon là một framework cho lập trình web PHP, nó có vai trò tương tự như các framework Laravel, CodeIgniter, Yii… Nhưng Phalcon có một kiến trúc rất đặc biệt, mới lạ, khác với hầu hết các framework PHP khác, bởi vì nó được thiết kế cho mục tiêu: chạy nhanh nhất.

Phalcon có kiến trúc rất đặc biệt: mã code của framework được biên dịch sẵn thành file dll và nạp luôn vào RAM khi khởi động máy. Do đó khi có request từ browser đến, php chỉ còn chạy code của dự án để đáp ứng người dùng.

Bởi vậy project viết trên Phalcon chạy rất nhanh, tổ chức các chức năng của project cũng đơn giản.

Website chính thức của phalcon là https://phalcon.io/en-us

Đôi điều về các PHP Framework

Ngày nay, có nhiều php framework được phát triển, mục đích chung là giúp cho các web dev đỡ mất công code mọi thứ từ đầu. Mỗi framework quy định nhiều quy tắc như cách đặt tên file, khai báo biến, vị trí lưu các loại file… nên giúp dễ làm việc nhóm hơn.

Mục tiêu cụ thể của các php framework cũng có. Có framework hướng đến quy mô lớn hoặc nhỏ của project, như Zend và Yii sẽ chuyên trị các project lớn, còn Slim dùng cho các project nhỏ. Có những ramework lại hướng mục tiêu đến tốc độ, như Phalcon, Yaf. Các framework khác hướng đến việc tổ chức các chức năng support team tốt, như Laravel…

Điều này dẫn đến hiện nay có nhiều framework php ra đời. Các web developer tùy theo đó mà sử dụng để phát triển project trong quá trình làm việc. Sau đây liệt kê tên một số php framework để bạn tham khảo:

Các php framework cho lập trình Web 2020
Laravel POP PHP YAF
Symfony Simple MVC Akelos PHP framework
CodeIgniter Nette Qcodo
Yii Framework Fat-free evoCore
Cake PHP PHP Mini Stratus
Phalcon Zikula Seagull
Zend Silex Maintainable
Aura Agavi Limb
Fuel PHP Typo 3 Flow Phocoa
PHPixie Prado AjaxAC
Kohana Cappuccino Zoop
Slim Limonade BlueShoes
Flight Webasyst Recess
Medoo Guzzle PHP PHPDevShell

Phalcon được đánh giá cao

Phalcon là php framerwork chạy nhanh nhất trong các php framework – đó là nhận xét thường xuất hiện trong các đánh giá về Phalcon. Bởi vậy Phalcon rất cần cho bạn khi phát triển các ứng dụng web với yêu cầu thời gian thực thi nhanh.

top-php-frameworks
best-php-framework-2019

Đặc điểm của Phalcon

Một trong những vấn đề cần đề cập ngay để trả lời câu hỏi Phalcon là gì phải nói ngay đến những đặc điểm của nó. Phalcon hỗ trợ kết nối đến nhiều loại database, hỗ trợ CSDL quan hệ lẫn phân tán. Kích thước thư viện gọn nhẹ. Bạn có thể xem một số đặc điểm sau:

Kết nối đến database MySQL, PostgreSQL, SQLite, MongoDB, Oracle, MariaDB, Memcache DB
Database Model Relational, NoSQL, Object-oriented, Document-oriented, Multidimensional
Template Engine Volt (tương tự blade của laravel)
Có thể dùng Phalcon để Web Development,  Cloud computing, Distributed Systems
Design pattern Dependency injection, MVC, HMVC, Active-Record, Event-Driven, Obsever, Chain of responsibility
Kích thước thư viện ~6MB (version phalcon 4.0.6)
Quy mô project Bất kỳ quy mô nào của dự án đều có thể dùng Phalcon: nhỏ, vừa, lớn
Tương thích với PHP PHP 5.4+
Hiệu năng Rất cao, có thể đáp ứng hơn 800 request/giây
Tốc độ Nhanh nhất trong các php framework
Kỹ năng cần có để dùng Phalcon PHP, HTML, CSS

Tham khảo: https://www.javatpoint.com/features-of-phalcon, https://phalcon.io/en-us

Ưu khuyết điểm của Phalcon

Ưu điểm của phalcon

Khi mới tìm hiểu để biết phalcon là gì, bạn cần biết ngay 1 đặc điểm kỹ thuật quan trọng. Đó là Phalcon được viết dưới dạng PHP extension nên toàn bộ framework đã nạp vào RAM khi server khởi động, nhờ đó đã loại bỏ hoàn toàn quá trình đọc và biên dịch framework từ đĩa cứng mỗi khi có request. Đây là lý do chính làm cho framework này chạy rất nhanh.

Một ưu điểm nữa đó là Phalcon được viết bằng ngôn ngữ C – ngôn ngữ gần với ngôn ngữ hệ thống nhất nên tốc độ load trang rất nhanh.

Các ưu điểm khác của Phalcon đó là nó cung cấp nhiều tiện ích mà các web deverloper nhất định sẽ cần, ví dụ:

  • Developer dễ dàng thao tác với database qua các model ORM.
  • Template engine Volt rất hay, giúp code trong view nhanh chóng. Volt tương tự như Blade trong Laravel.
  • Phalcon hỗ trợ tốt các loại validation trong form.
  • Có nhiều công cụ support team như migration, devtools…
  • Phalcon có tài liệu khá đầy đủ và rõ ràng.
  • Hỗ trợ Caching (ra file, bộ nhớ, Redis), Logging, Event manager
  • Hỗ trợ kết nối đến nhiều loại CSDL (MySQL, Postgresql, Oracle, MongoDB..,).

Nhược điểm của phalcon

Nhưng nhược điểm của Phalcon cũng có, nhược điểm này nằm ngay chính ưu điểm của nó. Đó là bởi vỉ Phalcon được viết và biên dịch như là một thư viện trong server cho nên bạn phải có quyền root hay admin trong server mới cài được Phalcon.

Do vậy bạn không không chạy được project phalcon trên môi trường Shared Hosting trên internet. Muốn chạy một project Phalcon, bạn cần phải có server riêng như VPS hay Dedicate …

Tuy nhiên ngày nay việc sở hữu một server như thế không phải quá khó khăn (xét về giá thành và nhà cung cấp).

So sánh Phalcon với Laravel

Việc so sánh Phalcon với Laravel là cần thiết. Vì Laravel đang được dùng nhiều nhất hiện nay. Mục đích so sánh để bạn hiểu thêm chứ không gọi bạn bỏ Laravel.

a. File structure

Cấu trúc file và folder của 2 framework khá giống nhau. Các folder controllers, models, views, migrations, config… chứa các file có chức năng tương ứng.

Tuy nhiên cấu trúc project của Phalcon gọn hơn vì những code hệ thống của Phalcon như routing, controller system, model system…) đã có sẵn trong thư viện phalcon dll.

file-structure-phalcon-and-laravel
Cấu trúc file trpng project Phalcon (nên trái) và cấu trúc file trong project Laravel (bên phải)

Số lượng file trong project rất khác nhau. Cụ thể các file trong project phalcon cực kỳ nhỏ gọn, chỉ 13 so với hơn 7000 file của Laravel. Về khoản này Phalcon tốt hơn Laravel.

num files in project phalcon and laravel
Khi mới khởi tạo, số file trong project của Phalcon là 13 (version 4.0.6) còn số file trong project của Laravel là 7934 (version 7.22.4)

b. Tốc độ và hiệu năng

Phần lõi của Phalcon được biên dịch sẵn trong file dll và nạp sẵn trong RAM, không cần phải thông dịch như Laravel cho nên Phalcon chạy nhanh hơn. Theo các tài liệu kỹ thuật, khả năng đáp ứng các request trong 1 giây của Phalcon là hơn rất nhiều lần so với Laravel và các framework khác.

performmance-phalcon
Tham khảo: https://dev.to/adnanbabakan/a-comparison-between-laravel-and-phalcon-2471

c. Complexity

Ở tiêu chí này, Laravel có tài liệu, tutorial và cộng đồng sử dụng lớn hơn Phalcon. Cho nên khi bắt đầu dùng PHP framework thì nên chọn Laravel. Vì cộng đồng lớn thì bạn được support nhiều hơn. Còn nếu đã biết ít nhất 1 PHP Framework rồi thì sử dụng Phalcon là không khó.

Cũng chân thành mà nói, xét về sự tiện dụng trong các chức năng và hỗ trợ viết code, thì Laravel tốt hơn Phalcon. Ví dụ công cụ migration của Phalcon thì không thể nào bằng migration trong Laravel được. Hay chức năng phân trang của Laravel thì tiện dùng hơn.

Code Laravel cũng dễ hiểu hơn Phalcon. Laravel dễ triển khai hơn Phalcon vì project Laravel chạy trong môi trưởng Shared hosting không thành vấn đề.

Tham khảo: https://dev.to/adnanbabakan/a-comparison-between-laravel-and-phalcon-2471

Như vậy bạn đã biết Phalcon là gì rồi đó. Nó là một trong những php framework được đánh giá tốt nhất, chạy nhanh nhất , có khá nhiều các tiện ích cho các deverloper phát triển dự án.

Bài viết tiếp theo hướng dẫn bạn cách cài đặt Phalcon, tạo project Phalcon