Arquivo da categoria ‘propel’

Propel, Doctrine

Maio 12, 2007

Em anúncio das novas funcionalidades da versão do symfony 1.1, deverá ser incluído um novo ORM chamado Doctrine.

Não vou especular sobre o futuro do Propel no symfony nem sobre a padronização para o Doctrine. Creio que esta questão permanecerá em aberto e deverá ficar assim, a decisão caberá ao desenvolvedor.

Interessados, podem procurar pelo framework oficial do Doctrine, Sensei, faz bem conhecer a concorrência! :)

Árduo.. mas produtivo

Maio 8, 2007

Depois de navegar em alguns sites sobre como é o aprendizado do symfony, notei que assusta muita gente. Pois bem, mãos a obra e fui tentar criar o primeiro projeto.

Inicialmente, baseei-me no sf_sandbox sendo essa minha única referência comentada e realmente, funciona perfeitamente se seguidos os passos descritos na seção “Meu Primeiro Projeto“. Muito fácil… copiar e colar não ensina nada, que tal um aplicativo de “tarefas a fazer”?

Saindo do grande vazio, criei um novo projeto com o comando:

symfony init-project todo_list

Ótimo! O symfony criou como que por mágica toda a estrutura de diretórios e suas bibliotecas, conhecendo um pouco a estrutura do Propel, achei que o projeto precisaria de uma definição de quais tabelas iriam participar do aplicativo. Passeando pelo diretório config/ do sf_sandbox reparei no arquivo “schema.yml” (arquivo Yaml) e justamente nele encontra-se essa parte da configuração.

Antes disso, vamos a algo importante: o arquivo database.yml contém a configuração do seu banco e como o padrão é o MySQL, lembre-se de escrever nele seu nome de usuário, senha e nome do banco de dados.

A seguir, criei o seguinte:

propel:  autor:    _attributes: { phpName: Autor }    id:    nome:        varchar(255)    email:       varchar(255)    created_at:

  tarefa:    _attributes: { phpName: Tarefa }    id:    autor_id:    titulo:      varchar(255)    conteudo:    longvarchar    created_at:

Então os seguintes comandos são executados:

symfony propel-build-modelsymfony propel-build-sqlsymfony propel-insert-sql

Isso fez com que o symfony gerasse o SQL relativo a criação das tabelas, arquivos de classes e populasse o banco de dados local com as meta informações.

Temos já o esqueleto pronto, já podemos criar “apps” para nosso projeto.