Khi cập nhật tiện ích mở rộng để hỗ trợ Joomla 3.x, chúng tôi đã gặp phải một vài trường hợp chữ ký cho hàm đã thay đổi kể từ 2.5 và dẫn đến Strict standards
cảnh báo.
Ví dụ, trong lớp JTable, nó _getAssetParentId()
đã thay đổi từ
protected function _getAssetParentId($table = null, $id = null)
{
...
}
về điều này trong Joomla 3.x:
protected function _getAssetParentId(JTable $table = null, $id = null)
{
...
}
Đó là một sự khác biệt nhỏ nhưng, nó đủ để đưa ra cảnh báo.
Nhìn vào các phần mở rộng khác hỗ trợ Joomla 2.5 và 3.0 bằng một tệp lớp duy nhất, chúng dường như chỉ đơn giản bỏ qua vấn đề.
Rõ ràng, nếu chúng tôi sửa cảnh báo cho 3.x thì 2.5 cài đặt với cảnh báo ném
"Giải pháp" không phải là một lựa chọn cho chúng tôi bao gồm:
- sử dụng hai tệp lớp cụ thể phiên bản riêng biệt
- tắt cảnh báo
Làm thế nào để bạn giải quyết xung đột này?