Kể từ khoảng phiên bản 1.5 hoặc 1.6, Magento đã có một tệp trong thư mục gốc có tên get.php
. Tệp này, sử dụng core/file_storage_data
mô hình, cho phép chủ sở hữu hệ thống Magento phân phát tệp phương tiện sản phẩm của họ trực tiếp từ các cột blob trong cơ sở dữ liệu mà không cần có tệp hình ảnh trên hệ thống tệp. PHP xử lý việc gửi tệp
#File: get.php
function sendFile($file)
{
if (file_exists($file) || is_readable($file)) {
$transfer = new Varien_File_Transfer_Adapter_Http();
$transfer->send($file);
exit;
}
}
Đây là đi vào lãnh thổ lịch sử Magento, nhưng tại sao tính năng này được phát triển? Có vẻ như - hơi điên rồ. PHP không phải là cách hiệu quả nhất để phục vụ tệp, bộ lưu trữ blob của MySQL có lịch sử không ổn định và ngay cả việc triển khai cơ sở dữ liệu ổn định cũng là một vấn đề khó khăn để làm việc và từ những gì tôi có thể thấy Varien_File_Transfer_Adapter_Http
không thêm vào bất kỳ tiêu đề bộ nhớ đệm cho các tập tin này.
Có ai biết tại sao Magento phát triển tính năng này? Liệu nó thực sự hoàn thành bất cứ mục tiêu / vấn đề nào nó đặt ra để giải quyết? Có ai đang sử dụng nó?