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
jobstrong 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.phphoặ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.phpuse 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”