Pessoal, olá a todos.
Fiz um behavior pra facilitar a vida e pensei em compartilhar.
O objetivo dele é bem simples. É inspirado naquele plugin File Bridge do Ruby on Rails.
O objetivo é elimitar aquela tarefa de ficar salvando manualmente um arquivo que é feito upload.
Aquelas verificações, verificar quando remove ter que apagar e tal…
Um resumo rápido do que ele faz:
Digamos que você tem uma tabela Produtos e tem um campo para armazenar a foto. Que é um varchar só com o nome do arquivo.
Então esse behavior vai fazer pra você automaticamente o seguinte, vai salvar o arquivo em:
<diretório qualquer>/<nome da tabela>/<id>/<nome do arquivo>/
Em anexo:
-
SaveFileBehavior.php
-
dependencia.php
Exemplo de uso:
Em seu Model adicione.
public function behaviors()
{
return array('saveFileBehavior' => array('class' => 'saveFileBehavior',
'campo' => 'ImagemDestaque',
)
);
}
Dêem uma olhada no código fonte, é bem fácil de entender.
Eu não fiz em inglês pra publicar pro fórum inteiro porque tava com pressa em outros projetos. Mas se vocês acharem útil me digam.
EDIT: Arquivo atualizado.