Aplicativos em PHP/FrameWorks/Symfony: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Nova página: {{Info/Software | nome = Symfony | logo = | imagem = 250px | legenda = Projeto padrã...
 
Ribafs (discussão | contribs)
Sem resumo de edição
Linha 45:
[[it:Symfony]]
[[ru:Symfony]]
 
 
Meu primeiro projeto com Symfony
 
Resumo do tutorial "My first symfony project" do site oficial.
 
 
- Certifique-se de que está usando PHP5
 
- Ative o suporte a SQLite no php.ini, descomentando a "extensão extension=php_sqlite.dll"
 
- Fazer o download do sf_sandbox de http://www.symfony-project.com/get/sf_sandbox.tgz e descompactar
no diretório web
 
- Abra no navegador http://localhost/sf_sandbox/web/index.php para testar.
 
- Inicializar o modelo de dados:
 
Edite o script sf_sandbox/config/schema.yml e cole as linhas abaixo
 
propel:
weblog_post:
_attributes: { phpName: Post }
id:
title: varchar(255)
excerpt: longvarchar
body: longvarchar
created_at:
weblog_comment:
_attributes: { phpName: Comment }
id:
post_id:
author: varchar(255)
email: varchar(255)
body: longvarchar
created_at:
Caso queira traduzir, fique à vontade com exceção de created_at.
 
Este script define a estrutura de duas tabelas que serão criadas com o SGBD SQLite.
 
Obs.: Para facilitar adicione o diretório do seu PHP ao path.
 
Obs2.: Se usando o Xampp 1.6.2 e receber mensagens de erro ao executar o comando php, então
comente a linha com a extensão ";extension=php_svn.dll" no arquivo xampp\php\php.ini.
 
Salve o arquivo e abra o prompt de comando no diretório sf_sandbox e execute:
 
php symfony propel-build-model
 
Esteja certo de estar no raiz do diretório "sf_sandbox". Este comando criará algumas classes no
diretório sf_sandbox/lib/model. Estas classes permitem acesso ao banco sem se digitar uma linha de código SQL.
Symfony usará a biblioteca Propel para isso. Chamaremos estes objetos de model.
 
 
Agora entre o seguinte comando:
 
php symfony propel-build-sql
 
Um arquivo lib.model.schema.sql será criado em sf_sandbox/data/sql/. Podemos criar um banco em outro SGBD mas
por default o projeto sf_sandbox deve usar o arquivo sandbox.db em sf_sandbox/data.
 
Para criar a estrutura das tabelas baseadas no arquivo SQL, entre:
 
php symfony propel-insert-sql
 
 
Criando a Aplicação
 
O symfony agora criará uma estrutura básica de um CRUD da aplicação que poderá ser sustomizado.
 
php symfony propel-generate-crud frontend post Post
php symfony propel-generate-crud frontend comment Comment
php symfony clear-cache
 
Agora temos dois módulos (pos e comment) que permitirão que você manipule os objetos das classes
Post e Comment. Um módulo geralmente representa uma página ou um grupo de páginas com uso similar.
Seus novos módulos estão localizados em sf_sandbox/apps/frontend/modules/ e podem ser acessados
através das URLs:
 
http://localhost/sf_sandbox/web/frontend_dev.php/post
http://localhost/sf_sandbox/web/frontend_dev.php/comment
 
Veja que não digitamos nenhuma linha de código PHP, nem SQL nem sequer trabalhamos com SGBD.
 
Claro que aqui tem somente o esqueleto mas mesmo assim a ferramenta já nos deu ganho de produtividade.