Behavior pra salvar arquivos de upload

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.

Realmente excelente, parabéns!

Cara, muito legal!

Que tal colocar na área de extensions? Acho que será útil pra outras pessoas!

Tenho que deixar mais bonito o código e inglês também.

Darei notícias quando finalizar! :D