Ajax Symfony
-
Upload
rafael-siqueira-telles-vieira -
Category
Technology
-
view
2.183 -
download
0
description
Transcript of Ajax Symfony
![Page 1: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/1.jpg)
Symfony com AJAXpor Rafael S. T. Vieira
![Page 2: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/2.jpg)
Requisitos Operacionais
● Apache com PHP
● PEAR(normalmente, acompanha o PHP)
Requisitos Conceituais
Requisitos Operacionais
● API do Symfony
● PHP
● YAML ou XML
![Page 3: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/3.jpg)
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+
![Page 4: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/4.jpg)
Projetos no Symfony
Exemplo:
{Projeto} {Aplicação}+;{Aplicação} {Módulo}+;{Módulo} {Página}+;{Página} {Ação}{Template};
![Page 5: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/5.jpg)
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
![Page 6: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/6.jpg)
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
![Page 7: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/7.jpg)
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
![Page 8: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/8.jpg)
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)
![Page 9: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/9.jpg)
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
![Page 10: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/10.jpg)
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
![Page 11: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/11.jpg)
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
![Page 12: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/12.jpg)
Observando Objetos (ex. 1)
● observe_field
● submit_to_remote
● Ver observa/index
![Page 13: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/13.jpg)
Eventos Temporais (ex. 2)
● periodically_call_remote
● ver: clique/index
![Page 14: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/14.jpg)
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
![Page 15: Ajax Symfony](https://reader036.fdocuments.net/reader036/viewer/2022082704/558ca341d8b42a3e548b4585/html5/thumbnails/15.jpg)
FIM
● Bibliografia:– http://www.symfony-project.org/
– http://pear.php.net/
– http://www.yaml.org/
– http://www.php.net/