Hoje coloquei mais um exemplo de uso de Lumine.
Nele, são associados vários objetos de Telefone a um objeto Pessoa, depois é chamado o método save de pessoa e todos os telefones são salvos, fazendo referencia a pessoa.
Este exemplo também utiliza JQuery para ficar um pouco mais iterativo, e poder adicionar quantos telefones desejar de uma única vez.
@braços e fiquem com Deus!
Hoje vamos falar um pouco sobre os formatadores.
Seu comportamento mudou nas versões mais recentes de Lumine, isto porque, nas versões anteriores os membros da classe não eram explicitamente declarados, assim quando você chamava um atributo que não existia, o método mágico __get era disparado, e internamente, os formatadores eram executados para então retornar o valor formatado.
Como havia dito antes, vou mostar um exemplo de uso com relacionamentos.
Neste exemplo, estou assumindo que:
O objetivo é mostrar como os relacionamentos podem ser criados com Lumine, de forma rápida e orientada a objetos.
Esse final de semana foi de grandes melhorias no Lumine, principamente para desenvolvimento com Ajax e AMF!
Agora é possível enviar os elementos serializados em JSON utilizando os métodos toJSON e allToJSON! Assim, você não precisa mais fazer uma iteração para recuperar os elementos no formato necessário para envio via Ajax!
Para quem gosta de utilizar Flex com AMF, outra atualização muito interessante.
No momento em que você realizar a engenharia reversa, você tem a opção de gerar as classes DTO (ou VO) para sua entidades de negócio. Além disso, foram criados dois métodos: toObject e allToObject.
A grande vantagem destes dois métodos, quando utilizando DTO's, é que você pode setar na configuração de Lumine para que ele faça o cast automaticamente para o tipo de dados (classe) correspondente. E também nesta engenharia o DTO gerado já vem com o atributo $_explicitType. Assim, ficou ainda mais fácil integrar com RemoteObject.
Hoje, vou mostrar um exemplo bem básico de como trabalhar com Lumine, Zend_Amf e Flex.
Tinha programado para postar um artigo sobre como trabalhar com relacionamentos para este final de semana, mas tive que trabalhar em um projeto que tem integração com Flex via AMF e surgiu uma necessidade que já haviam solicitado.
Agora na engenharia reversa, você pode definir se quer que Lumine também crie as classes DTO/VO para o seu projeto, e, depois, basta você fazer um toObject / allToObject para ter seus dados tipificados e prontos para ir para o Flash / Flex!
Por padrão, Lumine irá criar esses objetos somente com suas propriedades, e todas públicas.
Além disso, na chamada de toObject / allToObject, você pode especificar qual o formato dos campos (por exemplo, você deseja que todos os membros tenham o sufixo dto, então, você se passar como parâmetro %s_dto, você terá os nomes dos campos nome_dto, data_dto, idcampo_dto, etc) e também qual classe você deseja que seja utilizada no momento de criar os objetos. Por padrão, Lumine usará stdClass. Se você definir na configuração para fazer o cast para DTO automaticamente, ele usará a classe DTO encontrado para a classe.
A nova versão já está disponível para download!
@braços e fiquem com Deus!