Classes no Php
- O que são classes e porque utiliza-las?
- Definindo uma classe
- Definindo uma extensão de uma classe
- Definindo variáveis globais
- Definindo uma função
- Definindo variáveis locais
- Passando argumentos para as funções
- Retornando valor nas funções
1. O que são classes e porque utiliza-las?
Já vi e ouvi muitas vezes essa pergunta “O que são
classes e porque utiliza-las?”. Bem, classes nada mais é do que uma coleção
de funções, ou seja, é uma maneira de “reciclar” os códigos
desenvolvidos.
Imagine, por exemplo, um programador que desenvolve
um site para comércio eletrônico, onde existe um cadastro de produtos, um
cadastro de clientes, um cadastro de fornecedores, etc. Agora imagine que ele
tem que escrever a mesma função para conectar ao banco de dados, para cada
script que ele tiver, até que não é tão problemático fazer isso, não é
mesmo?
Agora imagine que depois que está pronto o sistema,
alguém pede a esse programador que altere o local onde está armazenado o banco
de dados, bem agora o nosso programador vai ter que alterar arquivo por arquivo
o host do banco de dados, que trabalhão não acha?.
E se o nosso programador tivesse desenvolvido uma
classe com funções para conectar ao banco de dados, então seria necessário
ele alterar somente um arquivo e todos os script que estivesse usando seriam
alterado automaticamente. Simples não?.
2. Definindo uma classe
Neste momento veremos como definir e instanciar uma
classe. Para tal, começamos com o seguinte comando:
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
//….
}
?>
Eis que nasce a criança! Agora nossa classe está criada, o que falta é algumas funções
que veremos nos capítulos seguintes, para utilizarmos esta classe precisamos
instanciá-la dentro de um script php, para isso fazemos o seguinte:
# para esse arquivo daremos o nome de myfile.php
$MySQL = new TMySQL();
?>
Neste momento já instanciamos a nossa classe, e agora se tivéssemos funções
definidas dentro da nossa classe já poderíamos utiliza-las.
3. Definindo uma extensão de uma classe
Extensão de uma classe poderíamos dizer que é uma função pertencente a uma classe,
que tem todas as propriedades da classe base e mais as definidas nela mesmo,
para tal utiliza-se a seguinte sintaxe
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
//….
}
class construtor extends TMySQL {
//….
}
?>
E agora, poderíamos criar funções dentro da classe, e que pertenceriam também a sua extensão.
4. Definindo variáveis globais
As variáveis globais normalmente são definidas quando se deseja utiliza-la em toda classe,
para tal, fazemos o seguinte:
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
var $host; // qual o servidor
var $db; // qual a base
var $user; // qual o username
var $pass; // qual a senha
var $socket; //socket da conexao com o banco
}
?>
5. Definindo uma função
Função como o próprio nome diz, é um bloco de códigos destinado a fazer algo específico,
alguma função, vejamos como utiliza-la:
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
var $host; // qual o servidor
var $db; // qual a base
var $user; // qual o username
var $pass; // qual a senha
var $socket; //socket da conexao com o banco
function connect($host, $db, $user, $pass) {
$this->host = $host;
$this->db = $db;
$this->user = $user;
$this->pass = $pass;
$this->socket=mysql_connect($this->host,$this->user,$this->pass);
if (!$this->socket) {
echo “Não foi possível conectar-se ao Bando de Dados MySQL”;
}
else
{
if (!mysql_select_db($this->db,$this->socket)){
echo “Banco de dados não encontrado”;
}
else
{
echo “Banco de dados conectado!”;
}
}
}
}
?>
Definimos a função connect(); para conectarmos o banco de dados MySql, vejamos como
instanciar a classe e utilizar a função dentro de um script:
# para esse arquivo daremos o nome de myfile.php
MySQL = new TMySQL();
MySQL->connect($host, $db, $user, $pass);
?>
Observe que instanciamos a classe, e chamamos a função passando alguns argumentos
necessários para nossa conexão.
6. Definindo variáveis locais
Variáveis locais são utilizadas sempre que se queira uma variável de momento, ou seja,
ao término da função o valor que a variável assumiu durante a execução de
determinada função não será mais necessária. Vejamos como fazer:
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
var $host; // qual o servidor
var $db; // qual a base
var $user; // qual o username
var $pass; // qual a senha
var $socket; //socket da conexao com o banco
function connect($host, $db, $user, $pass) {
$this->host = $host;
$this->db = $db;
$this->user = $user;
$this->pass = $pass;
$this->socket=mysql_connect($this->host,$this->user,$this->pass);
if (!$this->socket) {
echo “Não foi possível conectar-se ao Bando de Dados MySQL”;
}
else
{
if (!mysql_select_db($this->db,$this->socket)){
echo “Banco de dados não encontrado”;
}
else
{
echo “Banco de dados conectado!”;
}
}
}
function ultimo_reg() {
var $ultimo;
$this->ultimo = mysql_insert_id($this->socket);
echo “$this->ultimo”;
}
}
?>
Veja agora, acima definimos a função ultimo_reg(); para
recuperarmos o último registro inserido e não é necessária informação no
restante da classe, sendo assim definimos a variável $ultimo para utilizarmos
somente dentro da classes.
7. Passando argumentos para as funções
Passar argumento para as funções é muito utilizado dentro do contexto classes, pois
os valores podem ser utilizados em qualquer parte do script, mesmo que se tenha
definido como um valor local. Vejamos um exemplo:
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
var $host; // qual o servidor
var $db; // qual a base
var $user; // qual o username
var $pass; // qual a senha
var $socket; // socket da conexao com o banco function connect($host, $db, $user, $pass) {
$this->host = $host;
$this->db = $db;
$this->user = $user;
$this->pass = $pass;
$this->socket=mysql_connect($this->host,$this->user,$this->pass);
if (!$this->socket) {
echo “Não foi possível conectar-se ao Bando de Dados MySQL”;
}
else
{
if (!mysql_select_db($this->db,$this->socket)) {
echo “Banco de dados não encontrado”;
}
else
{
echo “Banco de dados conectado!”;
}
}
}function ultimo_reg() {
var $ultimo;
$this->ultimo = mysql_insert_id($this->socket);
echo “$this->ultimo”;
}function query ($string) {
var $myquery;
$this->myquery = mysql_query($string,$this->socket);
if (!$this->myquery) {
echo “Erro manipulando query!”;
}
else
{
if (substr($string,0,6)==”select”) {
echo “Comando aceito!”;
}
else
{
echo “Isso não é um select”;
}
}
}
}
?>
Agora, para manipularmos a função acima podemos instanciar a classe dentro de um
script e utilizar a função para verificar se o comando passado é válido:
# para esse arquivo daremos o nome de myfile.php
MySQL = new TMySQL();
MySQL->connect($host, $db, $user, $pass);
MySQL->query(”select * from fornecedores”);
?>
8. Retornando valor nas funções
Utilizando funções, podemos passar argumentos, como podemos retornar valores em um
contexto classes, retornar valores é utilizado tanto quanto passar argumentos.
Para tal, fazemos o seguinte:
# para esse arquivo daremos o nome de mysql_class.php
class TMySQL {
var $host; // qual o servidor
var $db; // qual a base
var $user; // qual o username
var $pass; // qual a senha
var $socket; // socket da conexao com o banco function connect($host, $db, $user, $pass) {
$this->host = $host;
$this->db = $db;
$this->user = $user;
$this->pass = $pass;
$this->socket=mysql_connect($this->host,$this->user,$this->pass);
if (!$this->socket) {
echo “Não foi possível conectar-se ao Bando de Dados MySQL”;
}
else
{
if (!mysql_select_db($this->db,$this->socket)) {
echo “Banco de dados não encontrado”;
}
else
{
echo “Banco de dados conectado!”;
}
}
}
function ultimo_reg() {
var $ultimo;
$this->ultimo = mysql_insert_id($this->socket);
echo “$this->ultimo”;
}
function query ($string) {
var $myquery;
$this->myquery = mysql_query($string,$this->socket);
if (!$this->myquery) {
echo “Erro manipulando query!”;
}
else
{
if (substr($string,0,6)==”select”) {
echo “Comando aceito!”;
}
else
{
echo “Isso não é um select”;
}
}
$this->retorno($string)
}function retorno ($string){
echo “Comando $string é invalido”;
}
}
?>
Observe que na função retorno(); é passada a mesma $string que foi passada como
argumento na função query(); e então temos o retorno de um valor.
Faça da sua conta Gmail um Disco Virtual
Acho que todo mundo conhece ou pelo menos já ouviu falar do Gmail né? Gmail é o serviço de e-mail do gigante da internet Google. O Gmail dispõem hoje de aproximadamente 2,7 GB de espaço para a conta de e-mail de seus usuários, e esse espaço aumenta a cada minuto, por isso fez e faz tanto sucesso. Além disso trabalhar com o Gmail é muito fácil, rápido e cômodo.
Mas tanto espaço assim acaba sendo inútil para quem recebe poucos e-mails, por isso escrevi essa dica.
Aqui vou descrever três maneiras para transformar seus Gmail em grande disco virtual, para guarda de arquivos, além disso continuar usando-o como webmail normal.
Gmail File System
Para transformar sua conta de e-mail do Gmail em um disco virtual, é necessário a instalação de um pacote/programa chamado gmailfs (Linux) ou GMail Drive (Window$). Esse pacote permite conectar-se ao servidor de e-mail do Gmail e mapea-lo em sua máquina, usando-o como se fosse uma partição do HD de sua máquina.
Instalação
WINDOW$
Para instala-lo no Window$, baixe o arquivo .zip no seguinte endereço http://www.softpedia.com/progDownload/GMail-Drive-shell-extension-Download-15944.html. Descompacte o pacote em uma pasta qualquer e execute o arquivo setup.exe.
Depois disso, abra seu Window$ Explorer e aparecerá uma nova unidade chamada Gmail, clique duas vezes, insirá o seu usuário e senha do Gmail e pronto, é só usar. Você pode criar pastas e mover arquivos para a mesma, ou simplesmente mover orquivo diretamente.
LINUX
A instalação no Linux é a mais complicada, tem várias dependências, aconselho a seguir o Tutorial no site do projeto, http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem-installing.html.
FIREFOX (Melhor opção - na minha opnião)
Para quem usa o Firefox, existe uma extensão excelente chamada Gmail Space. Essa é interessante, pois não depende de sistema operacional, pelo menos rodei-o tanto no Linux como no Windows.
Essa extensão funciona como se fosse um cliente de FTP, na janela do lado esquerdo estão os arquivos do seu computador (arquivos locais) e do lado direito estão os arquivos do Gmail. Veja um Preview da janela em https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&id=1593&page=previews.
Para instala-lo é muito simples, abra seu Firefox, vá no endereço https://addons.mozilla.org/extensions/moreinfo.php?id=1593&application=firefox e clique no Link “Install Now”, pronto. Agora reinicie seu firefox, clique em Tools -> GSpace, isso fará com que se abra a janela do cliente (tipo FTP). Insira login e senha, e aproveite!
Acessando Gtalk e Gmail pelo celular
Boa tarde a todos!
Aí vai uma dica para quem gosta de mobilidade, você pode acessar seu e-mail do Gmail ou conversar com pessoas usando o GTalk pelo celular.
Para isto você deverá fazer o download de um aplicativo chamado MGTalk.
A instalação do programa é bem fácil, basta criar uma pasta dentro do celular e copiar os arquivos com extensão jar e jad. Depois disso, basta abrir a aplicação e você já poderá usar a aplicação.
O programa é GPL e pode ser encontrado no SourceForge, no endereço :
http://sourceforge.net/projects/mgtalk/ .
Outras informações podem ser acessadas no endereço http://www.mobileoss.org/p/mgtalk/ `
É bom sempre resaltar que o programa utiliza tecnologia GPRS, e o custo é bastante elevado aqui no Brasil.
Mas fica a dica!
