Ir para conteúdo
Fórum Script Brasil
  • 0

Integrando O Smarty Com O Xajax E O Adodb


Bira_MG

Pergunta

Olá pessoal, meu nome é Ubirajara e estou terminando o curso de Ciencia da Computação na UFV.

Estou desenvolvendo uma aplicação de sistema de informação geográfica pra web , pra uma entidade ligada a universidade.

Resolvi utilizar o padrão MVC e para isso estou pensando em construir um mini-framework utilizando SMARTY + XAJAX + ADODB.

Já fiz alguns projetos com Smarty e Adodb e mais recentemente Xajax e Adodb, então parei e pensei, porque não usar os 3 juntos( Smarty, Xajax, Adodb )

Por enquanto ainda estou trabalhando no framework MVC que utilizará como base o trio acima, mas já vou adiantando como fazer o Xajax e o Smarty e o Adodb funcionarem juntos

Para este pequeno tutorial, fiz o seguinte

Criei uma pasta com o nome "teste" e dentro dela coloquei o Smarty2.6.18, Xajax0.5 e Adodb501

Criando a estrutura de diretórios abaixo

teste

| adodb

|

| xajax

| | xajax_core ...

|

| smarty

| | libs

| | templates ...

Agora o código:

Primeiro só Smarty + Xajax

Arquivo teste.php

<?php

define('SMARTY_DIR','smarty/libs/');

require_once(SMARTY_DIR.'Smarty.class.php');

require_once( 'xajax/xajax_core/xajax.inc.php' );

$xajax = new xajax();

function myFunction()
{

$objResponse = new xajaxResponse();

$objResponse->assign("SomeElementId", "innerHTML", 'Xajax + Smarty');

return $objResponse;
}

$xajax->registerFunction("myFunction");

$xajax->processRequest();

$smarty = new Smarty;

$smarty->template_dir = 'smarty/templates/';
$smarty->compile_dir = 'smarty/templates_c/';
$smarty->config_dir = 'smarty/configs/';
$smarty->cache_dir = 'smarty/cache/';

$smarty->caching = true;

$smarty->assign('name','Smarty');

$smarty->assign('xajax_javascript', $xajax->getJavascript('xajax/'));

$smarty->display('index.tpl');

?>[/codebox]

Arquivo index.tlp

[codebox]<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>{$name}</title>
{$xajax_javascript}
</head>
<body>
{$name}
<br />
<br />
<div id="SomeElementId"></div>
<br />
<br />
<input value="Xajax" type="button" onclick="xajax_myFunction();" />
</body>
</html>

Agora é só colocar o Adodb pra funcionar, e para isso é só fazer o seguinte.

Arquivo teste.php

<?php

define('SMARTY_DIR','smarty/libs/');

require_once(SMARTY_DIR.'Smarty.class.php');

require_once( 'xajax/xajax_core/xajax.inc.php' );

require_once( 'adodb/adodb.inc.php' );

$xajax = new xajax();

function myFunction()
{

$conn = &ADONewConnection( 'Oci8' );

$conn->PConnect( 192.0.0.1, 'user', 'pws', 'oraSID' );

$query = "select NOME from USUARIOS where ID = 0 ";

$recordSet = &$conn->Execute( $query );

if( !$recordSet->EOF ) {
$var = $recordSet->fields['NOMEUSU'];
} else {
$var = ''Usuario Inexistente;
}


$objResponse = new xajaxResponse();

$objResponse->assign("SomeElementId", "innerHTML", $var);

return $objResponse;
}

$xajax->registerFunction("myFunction");

$xajax->processRequest();

$smarty = new Smarty;

$smarty->template_dir = 'smarty/templates/';
$smarty->compile_dir = 'smarty/templates_c/';
$smarty->config_dir = 'smarty/configs/';
$smarty->cache_dir = 'smarty/cache/';

$smarty->caching = true;

$smarty->assign('name','Smarty');

$smarty->assign('xajax_javascript', $xajax->getJavascript('xajax/'));

$smarty->display('index.tpl');

?>[/codebox]

Por enquanto é isso.

Assim que tiver avanço no framework, estarei postando mais.

Abraços

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...