
Monthly Archives: abril 2010
PHP-Smarty – Templates dinâmicos com Smarty
Olá amigos,
aqui vou mostrar algumas coisas sobre o Smarty e como utiliza-lo para a criação de um projeto de template dinâmico utilizando PHP para popular suas variáveis. Com ele é possível criar programas PHP com a metodologia MVC, onde temos o Model (Template), View (Visualização dos dados) e o Controller (Que a grosso modo busca os dados do banco). Temos a regra de negócio do Controller, ou seja, os selects do banco estão no controller. Vamos lá?
“O Smarty é um sistema de templates para PHP. Mais especificamente, ele fornece uma maneira fácil de controlar a separação da aplicação lógica e o conteúdo de sua apresentação. Isto é melhor descrito em uma situação onde o programador da aplicação e o designer do template executam diferentes funções, ou na maioria dos casos não são a mesma pessoa.” Smart.net
1. Criando o seu primeiro template.
- Vamos criar um arquivo chamado config.php – É aqui que a gente vai inicializar toda a configuração basica do Smarty. O procedimento aqui é configurar as variáveis de localização do seu Smarty e fazer um extends. Um passo atrás, você deve criar a estrutura de diretórios do Smart, como na imagem abaixo:
<?php
// Carregando, por default a class principal do Smarty.
require('Smarty.class.php');
class Smarty_Ext extends Smarty {
function Smarty_Ext()
{
// Inicializando (construindo) as classes do Smarty
// É aqui que temos a localização das variáveis.
$this->Smarty();
$this->template_dir = '/minha_aplicacao/templates/';
$this->compile_dir = '/minha_aplicacao/templates_c/';
$this->config_dir = '/minha_aplicacao/configs/';
$this->cache_dir = '/minha_aplicacao/cache/';
$this->caching = true;
$this->assign('app_name', 'Minha Aplicação!');
$this->left_delimiter = '{{';
$this->right_delimiter = '}}';
}
}
?>
Agora vamos dar continuidade, vamos criar o documento que faz a interação dessas informações:
Chame-o de visualizar.php
// As nossas configurações pre-definidas do Smart.
require_once("config.php");
// Inicializando a nossa Classe Extendida
$smarty = new Smarty_Ext; // Ou new $Smarty se tiver config no server.
// Criando a associação na variável nome
// Com o valor "Meu nome!!!".
$smarty->assign('nome','Meu nome!!!');
// Aqui é o pulo do gato!
// Estamos realizando a ligação entre o Controller e o View.
$smarty->display('template.tpl');
Vamos agora criar o nosso template propriamente dito, chamado de template.tpl que será salvo no diretório templates.
<html>
<head>
<title>Nosso template - {{$nome}}</title>
</head>
<body>
{{$nome}}
</body> </head>
Pronto, agora você poderá visualizar o seu arquivo visualizar.php e ver o resultado!!!
Um abraço a todos, e até a próxima!!!! Sugestões e correções são muito bem vindas!!!
Léo
PS: Veja funcionando aqui!! abs
PHP – Manipulando textos a sua vontade
Olá amigos, tudo bem?
Estou aqui para dar algumas dicas sobre manipulação de textos usando algumas funções do PHP. Vamos lá?
1. strtoupper(); – É usada para formatar um texto qualquer(string) em maiúsculo.
Ex:
<?php $texto = "Minha casa é muito bonita!"; $novo_texto = strtoupper($texto); echo $novo_texto; // O resultado é MINHA CASA É MUITO BONITA! ?>
PHP Data Object – Configuração e constantes
Bom, agora vamos ver como a gente pode “configurar”, dá uma de joão bobo a gente poderá mudar configuração do nosso PDO somente no PHP.ini. Porém não como um init_set da vida no PHP!
No site do PHP.net não cobre muito essas configurações.. Vamos continuar ae com a explicações.
Vamos ver as constantes do PDO para usarmos em nossos programas. Vou colocar um exemplo, na seqüência você poderá modificar como achar melhor.
<?php
$pdo = new PDO("mysql:host=localhost; dbname=nome","username","passuser");
if ($pdo->getAttribute(PDO::ATTR_DRIVER_NAME)=='mysql'){
echo "O Driver do banco é para MySQL!" ;
}
?>
A gente, na realidade, vai utilizando os métodos da instância PDO(), ae é só utilizar os tais que nesse exemplo é o método PDO::ATTR_DRIVER_NAME. As constantes que iremos ver abaixo, são definidas pela extensão do PDO. Podem ser compilados junto ao PHP ou dinamicamente carregados em tempo de execução. Veja os atributos no site do PHP ou Atributos do PDO com a descrição de todos esses métodos.
PHP Data Object – Introdução
A extensão PHP Data Objects (PDO) define uma interface consistente e leve para acessar bancos de dados em PHP.Cada driver de banco de dados que implementa a interface PDO pode estaciar características específicas de um determinado banco de dados com as funções pré-definidas. Observe que você não pode executar todas as funções de banco de dados usando a extensão PDO, por si só, você deve usar um um driver especifico junto ao PDO para acessar um determinado servidor de banco de dados.
PDO proporciona uma camada de abstração de acesso de dados, o que significa que, independentemente de qual banco de dados você estiver usando, você poderá usar as mesmas funções, fazer consultas e buscando dados no banco. PDO não fornece uma abstração de “banco de dados”, mas não reescrever SQL ou emular características ausentes.Você deve usar criar uma camada de abstração se você precisa dessa funcionalidade.
PDO vem “acoplado” ao com PHP 5.1, e está disponível em uma extensão PECL para PHP 5.0; PDO exige as características OO(Orientação a Objetos) novo na engine do PHP 5, e assim não funcionará com versões anteriores do PHP. Então nada de PDO para versões 4.x
.

