Ajax Symfony
-
Upload
rafael-siqueira-telles-vieira -
Category
Technology
-
view
2.183 -
download
0
description
Transcript of Ajax Symfony
Symfony com AJAXpor Rafael S. T. Vieira
Requisitos Operacionais
● Apache com PHP
● PEAR(normalmente, acompanha o PHP)
Requisitos Conceituais
Requisitos Operacionais
● API do Symfony
● PHP
● YAML ou XML
Instalação
● pear channel-discover pear.symfony-project.com
● pear install symfony/symfony
Obs: É necessário que a versão do pear seja 1.4+
Projetos no Symfony
Exemplo:
{Projeto} {Aplicação}+;{Aplicação} {Módulo}+;{Módulo} {Página}+;{Página} {Ação}{Template};
Criando um projeto
● symfony new projeto
● symfony app aplicacao
● symfony module aplicacao modulo
ou● symfony init-project projeto
● symfony init-app aplicacao
● symfony init-module aplicacao modulo
Estrutura de Diretórios ● apps/: contém os módulos, ações e templates
● batch/
● cache/
● config/: contém a configuração do symfony e acesso a bds
● data/
● doc/
● lib/: contém as classes para acesso ao modelo relacional
● log/
● plugins/
● test/
● web/: contém os modos de exibição, imagens e scripts
Ambientes de Execução
– Produção(aplicacao.php, 1º index.php)– http://localhost/~rafaelstv/meuprojeto/web/teste.php/modulo/acao
– Desenvolvimento(aplicacao_dev.php)– http://localhost/~rafaelstv/meuprojeto/web/teste_dev.php/modulo/acao
– Teste(CLI)– symfony test-all– symfony test-functional aplicacao– symfony test-unit unidateTeste
Obs: Ver Exemplo Prático
Criando um banco de Dados
● schema.yml(2: nome da tabela)
1. conexao:
2. paises_latinos:
3. _atributtes: { phpName: Pais }
4. id:
5. nome: varchar(100)
6. capital: varchar(100)
Configurando o BDdatabases.yml:
all:
propel:
class: sfPropelDatabase
param:
dsn: mysql://rafaelstv@localhost/continentes
propel.ini:propel.database.createUrl = mysql://rafaelstv@localhost/
propel.database.url = mysql://rafaelstv@localhost/continentes
symfony propel-build-all
Acessando os dadossymfony propel-generate-crud teste banco PaisesLatinos
// actions/actions.class.php
index : redireciona para list
list : exibie todos os registros
show : exibe um registros por vez
edit : exibe um formulario para modificar um registro
update : ação chamada pelo edit
delete : deleta um registro
create : cria um registro
// templates/
editSuccess.php : modo de Edição
listSuccess.php : modo de Listagem
showSuccess.php : modo de Detalhes
* Criar um registro
* Recuperar um registro
* Update um registro
* Deletar um registro
Adicionando AJAX(funções remotas)
● update
● url
● position
● 'confirm' => 'Are you sure?’
● 'condition' => "$('elementID') == true",
● 'script' => true
Obs: É preciso incluir o auxiliar use_helper('Javascript')
● Callbacks
– before
– after
– loading
– loaded
– interactive
– success
– failure
– 404
– Complete
Observando Objetos (ex. 1)
● observe_field
● submit_to_remote
● Ver observa/index
Eventos Temporais (ex. 2)
● periodically_call_remote
● ver: clique/index
Eventos Manuais (ex. 3)
● link_to_remote: execução uma ação AJAX via link
● form_remote_tag: envia um formulário via ajax
– Ver: ajax/index
FIM
● Bibliografia:– http://www.symfony-project.org/
– http://pear.php.net/
– http://www.yaml.org/
– http://www.php.net/