Formulários são sem dúvidas um dos recursos mais importantes de qualquer apliação web, para não generalizar e chegar até aos Desktop, já que ultimamente não tenho sido muito fã destes, quando o assunto é desenvolvimento. Sendo assim, a rápida manipulação dos dados de um formulário pode representar um ganho consideravel no que se refere ao tempo de desenvolvimento da aplicação em questão.
O CakePHP é “O Framework”, sua habilidade de manipular as coisas de um jeito simples de entender e implementar tem aos poucos me levado a crer que este é o Framwork que eu procurava para resolver meus problemas com o desenvolvimento de aplicações PHP. Até já estou a meses que não vejo os updates no Django!
Imagine que temos um formulário para editar dados armazenados em uma base de dados,e logo precisamos preencher tal formulário com os dados a serem editados. Se calhar seria um grande trabalho usando um outro framework qualquer, ou mesmo se quiséssemos criar a aplicação á sangue frio, mas como o CakePHP está por perto, vamos ver como este framework automatiza o preenchimento de campos de formulários.
O Controller
A única coisa que precisamos fazer no controller é passar os dados que pretendemos colocar no formulário para a variável $this->data. Assim, se a variavel for $nome, então o nome do campo no formulário também deverá ser nome. Veja como ficaria um controller para editar os dados de um usuário, sem usar nenhum modelo User:
function editar(){
if(!empty($this->data)){
//Inclua aqui o código para gravar na BD
} else{
//Vamos enviar os dados á editar
$nome = 'Lilia de Souza';
//Na pratica usariamos um find para tirar estes dados da BD
$username = 'lil';
$password = 'secreto';
$dados = array('nome'=>$nome,'username'=$username,'password'=>$password);
//Veja que as chaves do array acima devem ser exactamente iguais ao nome do campo na view
$this->data = $dados //E agora a mágica....
}
}
prontos, agora o formulário do view ligado a este controller será preenchido automaticamente, caso tenha algum campo com o nome ‘nome’,’username’ ou ‘password’.
Esta ai a dica…






Comentários Recentes