2025/09/08

Share

  • Share on Facebook
  • Share on Twitter

Nâng cấp phiên bản từ CakePHP 2 lên CakePHP 3 Nâng cấp phiên bản từ CakePHP 2 lên CakePHP 3

Tổng quan dự án

Dự án này là việc nâng cấp hệ thống hiện có được phát triển trên CakePHP 2.6 lên bản ổn định của CakePHP 3.
Vì CakePHP 2 đã kết thúc hỗ trợ bảo mật, việc làm mới nền tảng để đảm bảo vận hành dài hạn là cần thiết.

Vì vậy, chúng tôi đã khảo sát và lựa chọn phiên bản có độ ổn định cao trong dòng CakePHP 3, và chuyển toàn bộ hệ thống sang CakePHP 3.9.
Song song, chúng tôi điều chỉnh middleware (phần mềm trung gian) phục vụ quá trình chuyển đổi và thực hiện kiểm thử hoạt động trên trình duyệt, ưu tiên duy trì chức năng hiện có và bảo đảm ổn định.

Ngăn xếp công nghệ và công cụ phát triển đã sử dụng

  • Ngôn ngữ lập trình: PHP
  • Cơ sở dữ liệu: Oracle
  • Công cụ quản lý công việc: Redmine
  • Công cụ giao tiếp: Slack
  • Công cụ khác: Upgrade Tool(https://book.cakephp.org/3/ja/upgrade-tool.html)

Thách thức của khách hàng

Khách hàng đang vận hành hệ thống hiện có trên CakePHP 2, nhưng kể từ ngày 15 tháng 6 năm 2021 việc hỗ trợ bảo mật cho CakePHP 2 đã kết thúc, dẫn tới các rủi ro sau:

  • Quan ngại về lỗ hổng bảo mật

  • Khó đáp ứng các tiêu chuẩn và yêu cầu phát triển mới nhất

Nếu tiếp tục không thay đổi, việc vận hành sẽ tiềm ẩn rủi ro lớn.

Yêu cầu của khách hàng

Trong dự án này, chúng tôi đã nhận được các yêu cầu sau từ khách hàng.

・Khảo sát và áp dụng phiên bản ổn định của CakePHP 3
・Điều chỉnh middleware của hệ thống để tương thích với CakePHP 3
・Duy trì các chức năng tương đương sau khi nâng cấp
・Đảm bảo hoạt động ổn định trên Google Chrome và Microsoft Edge

Đề xuất và phương pháp tiếp cận của chúng tôi

  • Lựa chọn phiên bản ổn định
    Chúng tôi ưu tiên tính ổn định và khả năng bảo trì, vì vậy đã lựa chọn CakePHP 3.9. Đồng thời, chúng tôi kiểm chứng khả năng tương thích của các middleware đang sử dụng và lựa chọn phương án vận hành ổn định.
  • Tận dụng công cụ chuyển đổi tự động
    Chúng tôi sử dụng Upgrade Tool chính thức để tự động chuyển đổi mã nguồn và hàm từ CakePHP 2 sang CakePHP 3, qua đó nâng cao hiệu suất và giảm thiểu lỗi do con người.
  • Kiểm chứng chức năng và kiểm thử trình duyệt
    Sau khi chuyển đổi, chúng tôi thực hiện kiểm tra vận hành toàn diện để bảo đảm các chức năng được duy trì tương đương với hệ thống cũ. Đồng thời, chúng tôi so sánh hành vi hệ thống trước/sau nâng cấp trên Google Chrome và Microsoft Edge nhằm xác nhận tính nhất quán và ổn định trên trình duyệt.
  • Ứng phó nhanh với các vấn đề phát sinh
    Trong quá trình chuyển từ CakePHP 2 sang CakePHP 3, một số lỗi phát sinh do thay đổi đặc tả của ORM và Core API. Với từng trường hợp, chúng tôi phân tích nguyên nhân, triển khai mã thay thế và điều chỉnh luồng xử lý, nhờ đó khắc phục nhanh chóng và bảo đảm hệ thống vận hành ổn định.