Desde a versão 1.5 ou 1.6, o Magento tinha um arquivo na pasta raiz chamado get.php
. Esse arquivo, usando o core/file_storage_data
modelo, permite que os proprietários do sistema Magento sirvam seus arquivos de mídia do produto diretamente das colunas de blob no banco de dados sem ter um arquivo de imagem no sistema de arquivos. PHP manipula o envio do arquivo
#File: get.php
function sendFile($file)
{
if (file_exists($file) || is_readable($file)) {
$transfer = new Varien_File_Transfer_Adapter_Http();
$transfer->send($file);
exit;
}
}
Isso está mudando para o território histórico do Magento, mas por que esse recurso foi desenvolvido? Parece - um pouco louco. PHP não é a maneira mais eficiente de servir um arquivo, o armazenamento de blob do MySQL tem um histórico instável, e até mesmo uma implementação estável de blob de banco de dados é uma dor de trás para trabalhar, e pelo que eu posso ver Varien_File_Transfer_Adapter_Http
não adiciona quaisquer cabeçalhos de cache para esses arquivos.
Alguém sabe por que o Magento desenvolveu esse recurso? Realiza realmente qualquer objetivo / problema que se propõe a resolver? Alguém está usando?