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.