Novato e com algumas duvidas

Boa noite colegas,

Por ser a minha primeira vez em relação ao yii, gostaria, se possível, ter algumas questões entendidas.

Estou para, nesta semana, iniciar um projeto de certo porte.

1 - Eu tenho por exemplo uma tabela de endereços que poderei usar em N lugares do sistema. Neste caso posso usar um Controller normalmente em qualquer lugar? Assim eu deixo as regras em um único lugar.

2 - Existe algum componente especifico para PDF?

3 - A criação das estruturas (tabela, model, controller e visão) se dá (gerada) automáticamente como o RoR?

4 - Existe algum controle transacional (tabelas) que é gerenciado pelo próprio Yii?

Pessoal, Muito obrigado e desculpe pelas perguntas.

Abraços a todos,

Marcelo

1 - Eu tenho por exemplo uma tabela de endereços que poderei usar em N lugares do sistema. Neste caso posso usar um Controller normalmente em qualquer lugar? Assim eu deixo as regras em um único lugar.

R: Pode, eu faço isso. Mas tem algumas coisinhas que dependem muito de como sua base vai ser modelada.

2 - Existe algum componente especifico para PDF?

R: Infelizmente não. É o mal do PHP em geral não ter um bom gerador de relatórios. Na área de extenções tem um warper pra TCPDF(http://www.yiiframework.com/extension/tcpdf) mas eu particularmente prefiro outras soluções. Atualmente uso JasperServer(http://jasperforge.org/projects/jasperserver) pra fazer os relatórios via a api que ele dispôe.

3 - A criação das estruturas (tabela, model, controller e visão) se dá (gerada) automáticamente como o RoR?

R: Tem hoje geradores pra Model, Controller e CRUD. Não gera tabelas. Tem um gerador por linha de comando e um via web que é instalado na sua app como se fosse uma extenção. O gerador por linha de comando(Yiic) é mais "duro". O gerador via web (Gii) é mais maleável, e permite que vc customize os teamplates de geração de código ou mesmo crie novos teamplates.

4 - Existe algum controle transacional (tabelas) que é gerenciado pelo próprio Yii?

R: Sim, mas não é automático (http://www.yiiframework.com/doc/api/1.1/CDbTransaction). É necessário instanciar o objeto de transação. Caso ela não seja instanciada, a cada requisição ao SGDB a transação é aberta e fechada automaticamente, então quando vc for fazer um master-detail, é necessário usar a transação.

Aconselho antes de tudo, dar uma lida no Guia Definitivo do Yii (http://www.yiiframework.com/doc/guide/1.1/pt/index), fazer o tutorial do blog (http://www.yiiframework.com/doc/blog/) e depois gerar alguns cruds pra ver como ele trabalha e como fica a estrutura organizacional numa aplicação.

No mais, seja bem vindo :)

Muito obrigado!

Estive vendo que está para aparecer a versão 2.0

Muita coisa irá mudar?

Abraços.

Marcelo

Realmente eu não sei, mas ele só vai sair um possível alfa em dezembro de 2011. Mas não acho que eles vão mecher tanto assim que seja impossível de aproveitar o que já se tem pronto hoje.

Na área de download tem um aviso que ele não será compatível com versões anteriores, mas acho que é mais pq eles vão remover tudo que é depreciado no código nas versoes 1.0.x e 1.1.x.