segunda-feira, 20 de fevereiro de 2012

Criando uma aplicação com o Symfony – Pt. 2

Olá a todos, vamos dar continuidade a nossa série de tutoriais sobre o Framework Symfony.
Na promeira parte do tutorial, mostramos como baixar e instalar o Symfony, conferir a sua versão e agora, iniciaremos o nosso projeto.

Como puderam ver, eu não falei nada sobre que sistema criar e, o que ele vai fazer até o momento, bom... Isso ocorre pois o primeiro momento são apenas configurações genéricas que serão utilizadas por qualquer aplicação independente do seu contexto, ainda não entraremos no mérito da aplicação, continuaremos com as configurações iniciais.

O que criaremos???

Para fins de estudo, criaremos uma simples aplicação de automação comercial, onde será acessada pelo vendedor, gerente e administrador do sistema. Essa aplicação permitirá apenas o cadastramento de produtos, clientes e um caixa para registrar a venda, será possível também, visualizar os produtos que são vendidos ao cliente, exemplo: Cliente A comprou os produtos X, Y e Z; esses produtos constaram para visualização no sistema, somente.

Vamos nessa!!!

Com o comando para testarmos se o Symfony não possui erros, conforme tutorial anterior, na pasta raiz do projeto podemos executar os seguintes comandos:

# cd /var/www/projeto1
# php lib/vendor/symfony/data/bin/symfony generate:project projeto1

Executando o comando acima estamos criando toda a estrutura de diretórios do nosso projeto. Com isso podemos criar dentro do nosso projeto a nossa aplicação, conforme comando abaixo:

# php symfony generate:app vendedor

Notem que a aplicação será criada dentro do diretório do “projeto1” e essa aplicação em si levará o nome de “vendedor”, pois será uma aplicação que será acessado pelo vendedor. Outro fator importante é que podemos criar mais de uma aplicação, como faremos, conforme comando abaixo:

# php symfony generate:app gerente
# php symfony generate:app admin

Estamos criando agora as aplicações que serão acessadas pelo gerente e pelo administrador do sistema.

Pois bem, caso não tenhamos nenhum erro, aparecerá uma lista de diretórios e arquivos criados, conforme abaixo, respectivamente para cada aplicação, neste caso copiei somente os arquivos correspondente a aplicação admin.

>> dir+ /var/www/projeto1/apps/admin/config
>> file+ /var/www/projeto1/apps/admin/config/routing.yml
>> file+ /var/www/projeto1/apps/admin/config/settings.yml
>> file+ /var/www/projeto1/apps/admin/con...plicationConfiguration.class.php
>> file+ /var/www/projeto1/apps/admin/config/security.yml
>> file+ /var/www/projeto1/apps/admin/config/view.yml
>> file+ /var/www/projeto1/apps/admin/config/filters.yml
>> file+ /var/www/projeto1/apps/admin/config/cache.yml
>> file+ /var/www/projeto1/apps/admin/config/factories.yml
>> file+ /var/www/projeto1/apps/admin/config/app.yml
>> dir+ /var/www/projeto1/apps/admin/i18n
>> dir+ /var/www/projeto1/apps/admin/lib
>> file+ /var/www/projeto1/apps/admin/lib/myUser.class.php
>> dir+ /var/www/projeto1/apps/admin/modules
>> dir+ /var/www/projeto1/apps/admin/templates
>> file+ /var/www/projeto1/apps/admin/templates/layout.php
>> tokens /var/www/projeto1/apps/admin/config/settings.yml
>> file+ /var/www/projeto1/web/admin.php
>> file+ /var/www/projeto1/web/admin_dev.php
>> tokens /var/www/projeto1/web/admin.php
>> tokens /var/www/projeto1/web/admin_dev.php
>> rename /var/www/projeto1/apps/admin/con...fig/adminConfiguration.class.php
>> tokens /var/www/projeto1/apps/admin/config/adminConfiguration.class.php
>> chmod 777 /var/www/projeto1/web/uploads
>> chmod 777 /var/www/projeto1/cache
>> chmod 777 /var/www/projeto1/log
>> chmod 777 /var/www/projeto1/symfony
>> chmod 777 /var/www/projeto1/web/uploads/assets
>> dir+ /var/www/projeto1/test/functional/admin

O Symfony foi desenvolvido para trabalhar com URL Amigável (caso seja do interesse do desenvolvedor), desta forma, podemos configurar o nosso Apache para receber tais parâmetros. Segue abaixo um pequeno tutorial sobre o Apache para que nosso trabalho seja bem elaborado:

Primeiramente, precisamos verificar se o módulo Rewrite está habilitado, através do comando abaixo podemos habilitá-lo ou confirmar se o mesmo encontra-se ativo.

# a2enmod rewrite
Se não aparecer nada, significa que o módulo foi habilitado, caso apareça uma mensagem conforme veremos abaixo, significa que o módulo já encontra-se habilitado, caso apareça algo de diferente, postem nos comentários para que eu entenda o erro e ajudar:

### Módulo do Apache já habilitado.
# Module rewrite already enabled

Agora vem o processo de configurarmos o host, ou seja, o endereço local a ser acessado via navegador. Segue o script abaixo que deve ser incluido dentro do arquivo httpd.conf que fica em /etc/apache2/




Incluido e salvo estas informações dentro do arquivo httpd.conf, precisamos incluir o caminho no arquivo de hosts, realizamos esse processo com o seguinte comando:



# echo "127.0.0.1   projeto1.local">>/etc/hosts



Feito isso, basta resetar o servidor Apache:

# /etc/init.d/apache 2 reload

Com tal comando nosso Apache resetará e já será possível acessar o nosso projeto via navegador com o seguinte endereço:

# http://projeto1.local

Com isso, nosso projeto foi criado e já poderá ser acessado através do navegador. Claro, ainda não trabalhamos com o Banco de Dados e isso ficará para o próximo tutorial. Onde trabalharemos exclusivamente com o Banco de Dados do nosso sistema.

Até a próxima!!!

Um comentário:

  1. Fala amigo, chegou a publicar o restante dessa aplicação?


    abraço

    Claudio 78619715

    ResponderExcluir