•   16.05.2025
Programming PHP Phalcon Framework

Hướng dẫn cài đặt Phalcon 5 trên Ubuntu 24.04, Nginx và PHP 8.1

Giới thiệu

Phalcon là một framework PHP full-stack mã nguồn mở, nổi bật với hiệu suất cao và khả năng tiêu thụ tài nguyên thấp. Được viết bằng ngôn ngữ C và Zephir, Phalcon mang đến tốc độ vượt trội so với nhiều framework PHP truyền thống khác. Kiến trúc của Phalcon cho phép các nhà phát triển tận dụng tối đa sức mạnh của PHP trong khi vẫn duy trì được hiệu suất gần như của ngôn ngữ biên dịch.

Phiên bản mới nhất, Phalcon 5, tiếp tục tập trung vào việc tối ưu hóa hiệu suất và đảm bảo hỗ trợ tốt nhất cho các phiên bản PHP hiện đại. Với yêu cầu PHP từ phiên bản 8.0 trở lên , Phalcon 5 tận dụng được các tính năng mới nhất của PHP, mang lại sự ổn định và hiệu quả cho các ứng dụng web.

Một trong những ưu điểm lớn của Phalcon là tốc độ xử lý nhanh chóng, có được nhờ vào việc được xây dựng như một extension của PHP. Bên cạnh đó, Phalcon còn cung cấp một kiến trúc linh hoạt dựa trên mô hình MVC (Model-View-Controller), giúp cho việc phát triển và bảo trì ứng dụng trở nên dễ dàng hơn. So với các framework PHP khác như Laravel hay Symfony, Phalcon có thể mang lại hiệu suất tốt hơn trong một số trường hợp sử dụng nhất định, đặc biệt là đối với các ứng dụng đòi hỏi tốc độ phản hồi cao.

Bài viết này được biên soạn nhằm cung cấp một hướng dẫn chi tiết, từng bước, giúp các nhà phát triển và quản trị viên hệ thống có thể cài đặt thành công Phalcon 5 trên môi trường Ubuntu 24.04, kết hợp với web server Nginx và phiên bản PHP 8.1. Mục tiêu là giúp người đọc thiết lập một môi trường phát triển mạnh mẽ và hiệu quả, sẵn sàng cho việc xây dựng các ứng dụng web hiện đại và hiệu suất cao sử dụng Phalcon 5. Hướng dẫn này phù hợp với những người đã có kiến thức cơ bản về dòng lệnh Linux, quản lý gói phần mềm APT và các khái niệm cơ bản về web server.

Bước 1: Cài đặt PHP 8.1 và các tiện ích mở rộng cần thiết

Để bắt đầu, bạn cần đảm bảo hệ thống Ubuntu 24.04 của mình đã được cập nhật. Mở terminal bằng tổ hợp phím Ctrl+Alt+T và thực hiện lệnh sau để làm mới chỉ mục gói cục bộ từ các kho lưu trữ:

Bash

sudo apt update

Lệnh này sẽ tải xuống thông tin mới nhất về các gói phần mềm có sẵn từ các nguồn đã được cấu hình. Sau khi quá trình cập nhật hoàn tất, hãy nâng cấp tất cả các gói đã cài đặt lên phiên bản mới nhất bằng lệnh:

Bash

sudo apt upgrade -y

Tùy chọn -y sẽ tự động chấp nhận mọi lời nhắc trong quá trình nâng cấp, giúp bạn tiết kiệm thời gian. Việc duy trì hệ thống ở trạng thái cập nhật là rất quan trọng để đảm bảo tính ổn định và bảo mật.

Ubuntu 24.04 mặc định đi kèm với PHP phiên bản 8.3. Tuy nhiên, hướng dẫn này yêu cầu cài đặt PHP 8.1, do đó, bạn cần thêm kho lưu trữ PPA (Personal Package Archive) của Ondřej Surý, một nguồn cung cấp các phiên bản PHP mới hơn và đáng tin cậy cho Ubuntu. Đầu tiên, hãy cài đặt gói software-properties-common nếu nó chưa được cài đặt trên hệ thống của bạn. Gói này cung cấp các công cụ cần thiết để quản lý PPA:

Bash

sudo apt install software-properties-common -y

Sau đó, thêm PPA của Ondřej Surý bằng lệnh:

Bash

sudo add-apt-repository ppa:ondrej/php -y

Lệnh này sẽ thêm kho lưu trữ PPA vào danh sách các nguồn gói của hệ thống bạn. Tiếp theo, cập nhật lại danh sách gói để hệ thống nhận diện các gói mới từ PPA vừa thêm:

Bash

sudo apt update

Bây giờ, bạn đã sẵn sàng cài đặt PHP 8.1 cùng với PHP-FPM (FastCGI Process Manager), PHP CLI (Command Line Interface) và gói php-dev (chứa các file header và công cụ cần thiết cho việc biên dịch extension PHP):

Bash

sudo apt install php8.1 php8.1-fpm php8.1-cli php8.1-dev -y

PHP-FPM là một trình quản lý tiến trình FastCGI, rất quan trọng khi sử dụng PHP với Nginx. Nó cho phép Nginx giao tiếp và xử lý các file PHP một cách hiệu quả hơn so với các phương pháp truyền thống. Gói php-dev sẽ cần thiết ở bước sau nếu bạn quyết định cài đặt Phalcon từ mã nguồn hoặc thông qua PECL.

Để đảm bảo ứng dụng Phalcon 5 của bạn có thể hoạt động tốt, bạn cũng nên cài đặt các tiện ích mở rộng PHP thường được sử dụng:

Bash

sudo apt install php8.1-curl php8.1-gd php8.1-imagick php8.1-intl php8.1-mbstring php8.1-mysql php8.1-pgsql php8.1-sqlite3 php8.1-xml php8.1-zip -y

Các tiện ích mở rộng này cung cấp nhiều chức năng quan trọng cho các ứng dụng web PHP:

  • php-curl: Cho phép PHP thực hiện các yêu cầu HTTP, cần thiết cho việc tương tác với các API bên ngoài.

  • php-gd: Cung cấp các hàm để xử lý hình ảnh bằng thư viện GD.

  • php-imagick: Một tiện ích mở rộng mạnh mẽ cho phép PHP sử dụng thư viện ImageMagick để xử lý hình ảnh với nhiều định dạng và chức năng nâng cao.

  • php-intl: Hỗ trợ các chức năng liên quan đến quốc tế hóa và bản địa hóa ứng dụng.

  • php-mbstring: Cần thiết cho việc xử lý chuỗi đa byte, đảm bảo ứng dụng có thể làm việc với nhiều ngôn ngữ khác nhau.

  • php-mysql: Cho phép PHP kết nối và tương tác với cơ sở dữ liệu MySQL.

  • php-pgsql: Tương tự như php-mysql, nhưng dành cho cơ sở dữ liệu PostgreSQL.

  • php-sqlite3: Hỗ trợ làm việc với cơ sở dữ liệu SQLite.

  • php-xml: Cung cấp các công cụ để xử lý dữ liệu XML.

  • php-zip: Cho phép ứng dụng tạo và giải nén các file ZIP.

Việc cài đặt sẵn các tiện ích mở rộng này sẽ giúp ứng dụng Phalcon 5 của bạn có thể tận dụng tối đa các chức năng cần thiết mà không gặp phải các lỗi liên quan đến việc thiếu thư viện.

Lưu ý quan trọng về php8.1-memcached: Hiện tại, có một vấn đề đã được ghi nhận là không thể cài đặt gói php8.1-memcached trên Ubuntu 24.04 thông qua PPA của Ondřej Surý. Nếu ứng dụng của bạn yêu cầu memcached để caching, bạn có thể xem xét sử dụng gói php-memcached (lưu ý sự khác biệt giữa memcachememcached extension - php-memcached thường được ưa chuộng hơn vì cung cấp nhiều tính năng hơn) hoặc một giải pháp caching khác như Redis.

Cuối cùng, để đảm bảo PHP 8.1 đã được cài đặt thành công, hãy chạy lệnh sau trong terminal:

Bash

php -v

Kết quả sẽ hiển thị thông tin chi tiết về phiên bản PHP đã cài đặt, bao gồm số phiên bản, thời gian build và các thông tin liên quan khác.

Bảng 1: Các gói PHP cần thiết

Tên gói

Mô tả ngắn gọn

php8.1

Gói chính của PHP phiên bản 8.1

php8.1-fpm

Trình quản lý tiến trình FastCGI cho PHP 8.1

php8.1-cli

Command Line Interface cho PHP 8.1

php8.1-dev

Các file header và công cụ cần thiết để phát triển extension PHP cho PHP 8.1

php8.1-curl

Tiện ích mở rộng cho phép PHP thực hiện các yêu cầu HTTP

php8.1-gd

Thư viện xử lý hình ảnh GD

php8.1-imagick

Tiện ích mở rộng cho phép PHP sử dụng thư viện ImageMagick để xử lý hình ảnh

php8.1-intl

Hỗ trợ quốc tế hóa và bản địa hóa ứng dụng

php8.1-mbstring

Hỗ trợ xử lý chuỗi đa byte

php8.1-mysql

Tiện ích mở rộng cho phép PHP kết nối và tương tác với cơ sở dữ liệu MySQL

php8.1-pgsql

Tiện ích mở rộng cho phép PHP kết nối và tương tác với cơ sở dữ liệu PostgreSQL

php8.1-sqlite3

Tiện ích mở rộng cho phép PHP làm việc với cơ sở dữ liệu SQLite

php8.1-xml

Hỗ trợ làm việc với dữ liệu XML

php8.1-zip

Hỗ trợ tạo và giải nén các file ZIP

software-properties-common

Công cụ để quản lý các PPA

Bước 2: Cài đặt Phalcon 5

Phalcon 5 yêu cầu PHP phiên bản 8.0 trở lên, vì vậy phiên bản PHP 8.1 bạn vừa cài đặt hoàn toàn phù hợp. Có ba phương pháp chính để cài đặt Phalcon 5 trên Ubuntu 24.04: sử dụng PECL, biên dịch từ mã nguồn hoặc sử dụng PPA (nếu có).

Phương pháp 1: Cài đặt bằng PECL

PECL (PHP Extension Community Library) là một kho lưu trữ các extension PHP và là một phương pháp được khuyến nghị để cài đặt Phalcon. Để thực hiện cài đặt bằng PECL, trước tiên bạn cần đảm bảo rằng các gói build-essentialphp-dev đã được cài đặt:

Bash

sudo apt install build-essential php-dev -y

Sau đó, sử dụng lệnh sau để cài đặt Phalcon 5 từ kho lưu trữ PECL:

Bash

sudo pecl install phalcon

PECL sẽ tự động tải xuống, biên dịch và cài đặt extension Phalcon cho bạn. Trong quá trình cài đặt, bạn có thể được hỏi về đường dẫn cài đặt cho các file header và thư viện. Hãy làm theo hướng dẫn trên màn hình hoặc chấp nhận các giá trị mặc định nếu bạn không chắc chắn.

Sau khi cài đặt thành công, bạn cần kích hoạt extension Phalcon trong file cấu hình php.ini. Mở file /etc/php/8.1/php.ini bằng trình soạn thảo văn bản (ví dụ: sudo nano /etc/php/8.1/php.ini). Thêm dòng sau vào cuối file và lưu lại:

Ini, TOML

extension=phalcon.so

Ngoài ra, bạn có thể tạo một file cấu hình riêng cho Phalcon trong thư mục cấu hình extension (thường là /etc/php/8.1/conf.d/). Tạo một file mới tên là 30-phalcon.ini và thêm dòng trên vào đó. Số 30 được sử dụng để đảm bảo extension Phalcon được tải sau các extension khác.

Phương pháp 2: Biên dịch từ mã nguồn

Biên dịch Phalcon từ mã nguồn cho phép bạn tùy chỉnh quá trình cài đặt và có thể hữu ích nếu bạn gặp vấn đề với PECL hoặc muốn sử dụng một phiên bản Phalcon cụ thể từ kho lưu trữ Github. Để biên dịch từ mã nguồn, bạn cần cài đặt các gói phụ thuộc sau:

Bash

sudo apt install build-essential libpcre3-dev re2c -y

Tiếp theo, tải mã nguồn Phalcon 5 từ kho lưu trữ Github chính thức:

Bash

git clone https://github.com/phalcon/cphalcon.git

Chuyển đến thư mục mã nguồn vừa tải xuống:

Bash

cd cphalcon/

Nếu bạn muốn cài đặt một phiên bản cụ thể, bạn có thể kiểm tra các tag phiên bản và chuyển sang phiên bản mong muốn (ví dụ: git checkout tags/v5.5.0).

Để biên dịch và cài đặt Phalcon, bạn sẽ sử dụng Zephir, một ngôn ngữ lập trình được thiết kế đặc biệt cho việc phát triển các extension PHP hiệu suất cao. Chạy các lệnh sau:

Bash

sudo./zephir fullclean
sudo./zephir build

Lệnh fullclean sẽ làm sạch các file build cũ, còn lệnh build sẽ thực hiện quá trình biên dịch. Sau khi biên dịch thành công, bạn cần cài đặt extension đã biên dịch bằng lệnh:

Bash

sudo make install

Cuối cùng, kích hoạt extension Phalcon bằng cách thêm dòng extension=phalcon.so vào file cấu hình php.ini như đã hướng dẫn ở phương pháp PECL. Lưu ý rằng quá trình biên dịch Phalcon có thể yêu cầu ít nhất 3GB RAM.

Bảng 2: Các phương pháp cài đặt Phalcon 5

Phương pháp

Ưu điểm

Nhược điểm

Các bước chính

PECL

Đơn giản, tự động tải và cài đặt

Yêu cầu các gói biên dịch, có thể gặp sự cố về phụ thuộc

Cài đặt build-essentialphp-dev, chạy sudo pecl install phalcon, thêm extension=phalcon.so vào php.ini

Biên dịch từ mã nguồn

Tùy chỉnh cao, có thể khắc phục các vấn đề cụ thể

Phức tạp hơn, yêu cầu kiến thức kỹ thuật, tốn thời gian hơn, yêu cầu các gói phụ thuộc và Zephir

Cài đặt các gói phụ thuộc, tải mã nguồn từ Github, chuyển đến thư mục mã nguồn, chạy ./zephir fullclean, ./zephir build, sudo make install, thêm extension=phalcon.so vào php.ini

Bước 3: Cấu hình Nginx để làm việc với PHP-FPM

Nếu bạn chưa cài đặt Nginx, hãy thực hiện lệnh sau:

Bash

sudo apt install nginx -y

Sau khi cài đặt, hãy bật Nginx khởi động cùng hệ thống và khởi động dịch vụ:

Bash

sudo systemctl enable nginx
sudo systemctl start nginx

Để Nginx có thể xử lý các ứng dụng Phalcon thông qua PHP-FPM, bạn cần cấu hình một server block (tương đương với virtual host trong Apache). Tạo một file cấu hình mới trong thư mục /etc/nginx/sites-available/, ví dụ: phalcon.conf:

Bash

sudo nano /etc/nginx/sites-available/phalcon.conf

Thêm cấu hình server block sau vào file phalcon.conf. Hãy nhớ thay your_domain.com bằng tên miền hoặc địa chỉ IP của bạn và /path/to/your/phalcon/public bằng đường dẫn thực tế đến thư mục public của ứng dụng Phalcon:

Nginx

server {
    listen 80;
    server_name your_domain.com;
    root /path/to/your/phalcon/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }
}

Chỉ thị listen 80 yêu cầu Nginx lắng nghe các kết nối HTTP trên cổng 80. server_name chỉ định tên miền hoặc địa chỉ IP mà server block này sẽ phản hồi. root xác định thư mục gốc của ứng dụng web. index chỉ định các file mặc định sẽ được phục vụ. Quan trọng nhất, try_files $uri $uri/ /index.php?$args; cho phép Nginx kiểm tra xem file hoặc thư mục được yêu cầu có tồn tại hay không, và nếu không, nó sẽ chuyển hướng yêu cầu đến index.php, điều này cần thiết cho các ứng dụng Phalcon sử dụng URL đẹp. location ~ \.php$ định cấu hình cách Nginx xử lý các file PHP bằng cách bao gồm file cấu hình fastcgi-php.conf và chuyển các yêu cầu PHP đến PHP-FPM thông qua fastcgi_pass unix:/run/php/php8.1-fpm.sock;.

Sau khi lưu file phalcon.conf, bạn cần tạo một symbolic link để kích hoạt server block này trong thư mục /etc/nginx/sites-enabled/:

Bash

sudo ln -s /etc/nginx/sites-available/phalcon.conf /etc/nginx/sites-enabled/

Nếu bạn muốn, bạn có thể xóa cấu hình mặc định của Nginx:

Bash

sudo rm /etc/nginx/sites-enabled/default

Cuối cùng, kiểm tra cấu hình Nginx và khởi động lại dịch vụ:

Bash

sudo nginx -t
sudo systemctl restart nginx

Bảng 3: Các lệnh Nginx quan trọng

Lệnh

Mô tả

sudo apt install nginx -y

Cài đặt web server Nginx

sudo systemctl enable nginx

Bật Nginx khởi động cùng hệ thống

sudo systemctl start nginx

Khởi động dịch vụ Nginx

sudo nano /etc/nginx/sites-available/phalcon.conf

Mở file cấu hình server block cho ứng dụng Phalcon

sudo ln -s /etc/nginx/sites-available/phalcon.conf /etc/nginx/sites-enabled/

Tạo symbolic link để kích hoạt server block

sudo rm /etc/nginx/sites-enabled/default

Xóa cấu hình mặc định của Nginx

sudo nginx -t

Kiểm tra cấu hình Nginx

sudo systemctl restart nginx

Khởi động lại dịch vụ Nginx để áp dụng các thay đổi

Bước 4: Kiểm tra cài đặt Phalcon 5 với Nginx và PHP 8.1

Để kiểm tra xem Phalcon 5 đã được cài đặt và cấu hình thành công với Nginx và PHP 8.1 hay chưa, bạn có thể tạo một ứng dụng Phalcon đơn giản. Trong thư mục web root bạn đã cấu hình cho Nginx (ví dụ: /path/to/your/phalcon/public), tạo một file index.php với nội dung sau:

PHP

<?php

use Phalcon\Mvc\Application;
use Phalcon\Di\FactoryDefault;

try {
    $di = new FactoryDefault();
    $app = new Application($di);
    $response = $app->handle($_SERVER);
    $response->send();
} catch (\Exception $e) {
    echo "Phalcon Exception: ", $e->getMessage();
}

Đoạn mã PHP này là một điểm khởi đầu cơ bản cho ứng dụng Phalcon. Nó khởi tạo một Dependency Injection container và một instance của Phalcon\Mvc\Application, sau đó xử lý request hiện tại. Nếu bạn không thấy bất kỳ lỗi nào, điều này cho thấy Phalcon đã được cài đặt và có thể chạy trên server của bạn.

Để hiển thị một thông báo cụ thể, bạn có thể tạo một controller mặc định. Tạo thư mục app/controllers trong thư mục gốc của ứng dụng và tạo file IndexController.php bên trong với nội dung:

PHP

<?php
namespace App\Controllers;

use Phalcon\Mvc\Controller;

class IndexController extends Controller
{
    public function indexAction()
    {
        echo "<h1>Xin chào từ Phalcon 5!</h1>";
    }
}

Đảm bảo rằng bạn đã cấu hình autoloader trong ứng dụng Phalcon của mình để nó có thể tìm thấy controller này.

Bây giờ, hãy mở trình duyệt web và truy cập tên miền hoặc địa chỉ IP bạn đã cấu hình cho server block Nginx (ví dụ: http://your_domain.com). Nếu bạn thấy dòng chữ "Xin chào từ Phalcon 5!", điều đó có nghĩa là Phalcon 5 đã được cài đặt và cấu hình thành công với Nginx và PHP 8.1.

Để kiểm tra kỹ hơn xem extension Phalcon đã được tải và kích hoạt đúng cách hay chưa, bạn có thể tạo một file PHP khác trong thư mục web root, ví dụ: phpinfo.php, với nội dung sau:

PHP

<?php phpinfo();?>

Truy cập http://your_domain.com/phpinfo.php qua trình duyệt và tìm kiếm mục "phalcon" trong trang kết quả. Nếu bạn thấy thông tin về extension Phalcon, điều đó xác nhận rằng extension đã được tải và kích hoạt thành công. Hàm phpinfo() là một công cụ rất hữu ích để kiểm tra các thông tin chi tiết về cấu hình PHP và các extension đã được cài đặt.

Bước 5: Các vấn đề thường gặp và cách khắc phục

Trong quá trình cài đặt Phalcon 5 trên Ubuntu 24.04 với Nginx và PHP 8.1, bạn có thể gặp phải một số vấn đề. Dưới đây là một số vấn đề thường gặp và cách khắc phục:

  • Thiếu các tiện ích mở rộng PHP: Nếu ứng dụng Phalcon của bạn báo lỗi liên quan đến việc thiếu các tiện ích mở rộng PHP, hãy kiểm tra log lỗi của PHP-FPM (thường nằm ở /var/log/php8.1-fpm.log). Các thông báo lỗi thường chỉ ra tiện ích mở rộng nào đang bị thiếu. Bạn có thể cài đặt chúng bằng lệnh sudo apt install php8.1-ten-tien-ich-mo-rong -y, thay ten-tien-ich-mo-rong bằng tên của tiện ích mở rộng bị thiếu.

  • Lỗi trong quá trình cài đặt Phalcon (PECL hoặc biên dịch từ mã nguồn): Nếu bạn gặp lỗi khi cài đặt Phalcon bằng PECL, hãy xem xét kỹ log cài đặt để xác định nguyên nhân. Đảm bảo rằng bạn đã cài đặt các gói build-essentialphp-dev. Thử chạy lại lệnh cài đặt với quyền sudo. Nếu bạn chọn biên dịch từ mã nguồn và gặp lỗi, hãy kiểm tra log quá trình biên dịch để xem có lỗi liên quan đến các phụ thuộc (ví dụ: libpcre3-dev, re2c) hay không. Đảm bảo rằng Zephir đã được cài đặt đúng cách theo hướng dẫn trong tài liệu chính thức của Phalcon.

  • Lỗi cấu hình Nginx và PHP-FPM: Nếu bạn không thể truy cập ứng dụng Phalcon qua trình duyệt hoặc gặp lỗi 500, hãy kiểm tra cấu hình Nginx bằng lệnh sudo nginx -t. Xem xét log lỗi của Nginx (thường ở /var/log/nginx/error.log) và trạng thái của PHP-FPM bằng lệnh sudo systemctl status php8.1-fpm. Đảm bảo rằng chỉ thị fastcgi_pass trong cấu hình Nginx trỏ đúng đến socket của PHP-FPM (/run/php/php8.1-fpm.sock). Bạn có thể thử khởi động lại PHP-FPM bằng lệnh sudo systemctl restart php8.1-fpm.

  • Vấn đề về quyền truy cập thư mục: Đôi khi, các vấn đề về quyền truy cập thư mục có thể gây ra lỗi. Đảm bảo rằng user mà Nginx đang chạy (thường là www-data) có quyền đọc và thực thi các file trong thư mục web root của bạn. Bạn có thể sử dụng lệnh ls -l để kiểm tra quyền hiện tại và sử dụng sudo chownsudo chmod để thay đổi quyền nếu cần.

Khi gặp bất kỳ sự cố nào, việc kiểm tra kỹ các thông báo lỗi hiển thị trong trình duyệt cũng như các log file của Nginx và PHP-FPM là rất quan trọng để xác định nguyên nhân và tìm ra giải pháp phù hợp.

Kết luận

Hướng dẫn này đã cung cấp một quy trình chi tiết để cài đặt Phalcon 5 trên Ubuntu 24.04, kết hợp với web server Nginx và phiên bản PHP 8.1. Bằng cách làm theo các bước trên, bạn đã có thể thiết lập một môi trường phát triển mạnh mẽ và hiệu quả cho các ứng dụng web PHP của mình.

Phalcon 5 là một framework PHP hiện đại, mang lại hiệu suất cao, tính bảo mật và kiến trúc linh hoạt. Đây là một lựa chọn tuyệt vời cho các nhà phát triển muốn xây dựng các ứng dụng web có tốc độ và khả năng mở rộng tốt.

Để tiếp tục khám phá sâu hơn về Phalcon 5 và tận dụng tối đa các tính năng mà nó cung cấp, bạn nên tham khảo tài liệu chính thức của Phalcon tại địa chỉ https://docs.phalcon.io/5.5/. Ngoài ra, việc làm quen với các công cụ hỗ trợ phát triển của Phalcon (Phalcon Devtools) sẽ giúp bạn tăng tốc quá trình xây dựng ứng dụng web của mình. 


Hashtags: