MeuMySQL Blog is now at http://blog.mdnsolutions.com/.

Saturday, October 20, 2012

FAQ Symfony - Dicas Quentes

Salve galera! Venho fazendo teste e projetos em Symfony e gostaria de compartilhar algumas, dicas, curiosidades e dúvidas que tenho tido. Bem, este tópico é 'endless' e vou incrementando ele conforme descubra mais novidades, espero que sejam úteis para vocês também. E qualquer outra dúvida, por favor comentar.




O que é preciso para se trabalhar com Symfony?
PHP 5.3+ e vontade de fazer a coisa do jeito certo.

Onde fica a pasta do root ao instalar?
Um diretório chamado "web" é o document root do nosso sistema. Isso quer dizer que, caso crie um diretório virtual é para lá que deve apontar ou esperar que a aplicação redirecione você.

O que é o app_dev.php e app.php?
Eles são os ambientes de trabalho que você escolhe para que sua aplicação execute. Sendo que o primeiro lhe fornece uma barra na base do navegador com informações importantes sobre como sua aplicação está rodando e consumindo recursos.

O que o AppKernel faz?
Nele registramos os Bundles que desejamos carregar automaticamente em nossa aplicação.

O que tem na pasta Vendor?
Todos os pacotes (bibliotecas), separados por  fornecedores, que nosso framework necessita está lá. É basicamente o coração do sistema.

O que são Bundles?
Tudo que se instala no sistema como módulos (ex.: uma enquete, EnqueteBundle). A ideia básica deles é a fácil migração de bundles entre projetos. Todos eles estão registrados no appKernel.

Onde estão os arquvos de rotas do Symfony?
Em app/config/routing_dev.ymlapp/config/routing.yml. Lá você já vai encontrar as primeiras rotas que vem no seu Symfony e configurar as suas próprias.

Symfony tem algum client para criar bundles?
Sim. Eles estão em app/console. Você pode digitar esse comando no seu shell e ver uma lista de comandos para se utilizar.

Nos arquivos de rotas o que significa o arroba "@" na frente do atributo resource?
Essa arroba significa o caminho até o seu bundle. Algo como "resource: @FooBundle/" quer dizer "../src/Vendor/FooBundle".

Como fazer o netbeans entender sintaxe do twig?
É necessário fazer o download de um plugin aqui. No seu netbeans vá em Ferramentas > Plugins. Aba downloaded, e clique no botão adicionar plugin. Selecione o seu plugin onde você acabou de baixar e pronto. Você está vendo sintaxe de arquivos .twig corretamente agora.

Qual o arquivo base do twig no Symfony?
Normalmente ele fica em app/Resources/views/base.html.twig. Caso deseje utilizá-lo basta no topo da sua view adicionar {% extends '::base.html.twig' %}. Ou ainda se desejar utilizar um layout base do seu bundle apenas altere um pouco a sintaxe para {% extends 'FooBundle::base.html.twig' %}, e neste caso ele procuraria em algo como src/Vendor/FooBundle/Resource/views/base.html.twig.

Como gerar uma nova entidade através do Doctrine?
Dentro do diretório root do seu projeto digite $ app/console doctrine:generate:entity e então informe qual bundle é o relativo á esta entidade.

Tem como rodar uma query usando o doctrine da minha aplicação via console?
Sim. Basta rodar no root do seu projeto app/console doctrine:query:sql "Select * from tb1". Parece mágica.


Por enquanto é isso, abraços!



Referências:
http://symfony.com/
http://plugins.netbeans.org/plugin/37069/php-twig

No comments:

Post a Comment