
Bài viết này hướng dẫn bạn cách tích hợp & sử dụng các công cụ trong CI4.
1. Sử dụng Composer packages
CI4 hỗ trợ Composer để quản lý thư viện giống Laravel.
-
Ví dụ cài PHPMailer:
-
Gọi trong controller:
➔ Composer giúp tận dụng được hệ sinh thái PHP (Stripe, Firebase, Guzzle…).
2. GuzzleHTTP client (call external API)
-
Cài đặt:
-
Gọi API từ controller:
➔ Rất hữu ích khi bạn cần gọi API của bên thứ 3 (Stripe, PayPal, Cloudflare…).
3. Queue Job (RabbitMQ, Redis, hoặc simulate trong CI4)
CI4 không có queue built-in như Laravel, nhưng có thể tích hợp.
-
Cách simulate đơn giản: tạo bảng
jobs
trong DB, lưu các task → cronjob sẽ chạyphp spark jobs:run
. -
Ví dụ code:
-
Worker chạy cronjob:
➔ Nếu muốn chuyên nghiệp hơn, dùng Redis Queue hoặc RabbitMQ.
4. Cache (File, Redis, Memcached)
CI4 hỗ trợ nhiều driver cache (file
, redis
, memcached
).
-
Cấu hình:
app/Config/Cache.php
hoặc.env
: -
Sử dụng:
➔ Với Redis/Memcached thì chỉ cần đổi handler
trong config.
5. Debugging (Kint & Debug Toolbar)
-
CI4 tích hợp sẵn Kint (
d()
,dd()
) để dump dữ liệu. -
Debug Toolbar: khi
CI_ENVIRONMENT = development
, thanh debug xuất hiện dưới cùng trang → xem query, logs, routes…
➔ Giúp dev debug cực nhanh.
6. Unit Test với PHPUnit
CI4 tích hợp PHPUnit.
-
Tạo test:
-
File
tests/app/Models/UserTest.php
-
Chạy test:
➔ Testing giúp dự án CI4 maintain dễ dàng hơn.
7. Event & Listener trong CI4
CI4 có hệ thống event giống Laravel.
-
Định nghĩa trong
app/Config/Events.php
use App\Listeners\SendWelcomeEmail; Events::on('user_registered', [SendWelcomeEmail::class, 'handle']);
-
Listener:
-
Gọi event trong Controller:
➔ Cách này tách biệt logic → code sạch & dễ mở rộng.
“Xem thêm: Hướng dẫn cài đặt CI4 cơ bản”