Ir para conteúdo
Entre para seguir isso  
Boleta

POT - PHP OTServ Toolkit

Recommended Posts

Boleta    1
Boleta

POT - PHP OTServ Toolkit

Produto criado por Wrzasq - Tutorial por Boleta

Web site do produto - http://otserv-aac.info/

Olá a todos.

 

Para quem não conhece, venho apresentar o POT - PHP OTServ Toolkit. O POT é um conjunto de classes (library, biblioteca) para PHP que auxiliam a Criação/Edição/Deleção de registros
SQL
, com suporte à Mysql e SQLite. É bastante simples de usar (apesar de alguns preferirem o método tradicional) e totalmente seguro. Desde que comecei a estudar PHP o uso e estou bastante satisfeito.

 

1. Fazendo Download

 

Para quem programa C++, o download de códigos direto da base de dados do Sourceforge, via Tortoise SVN, é bastante familiar. Para quem ainda não conhece, vai descobrir como essa maravilia funciona. Pois bem, quem ainda não o possui, pode baixá-lo
.

 

Depois de instalá-lo, você verá que ao clicar com o botão direito dentro de pastas aparecerão duas novas opções nos menus. Crie uma pasta chamada "classes" em qualquer lugar do seu PC (aconselho dentro da pasta de um Web site de teste), abra-a e clique com o botão direito dentro dela, localizando o botão "SVN Checkout". Veja a figura a seguir:

 

checkoutsq7.jpg

 

Abrirá uma janela que possuirá um campo chamado URL of Repository. Preencha ele com o seguinte texto:
http://opentibia.svn.sourceforge.net/svnroot/opentibia/pot

 

Ficando mais ou menos assim:

 

02012008182948to1.jpg

 

Aperte
Ok
e abrirá uma janela que começará a fazer download de alguns arquivos. Ao terminar, ficará mais ou menos assim:

 

 

02012008183950ry1.jpg

 

Se você obeservar a pasta, tutorials, exemplos e a biblioteca POT foram adicionadas. Para fazer Update de novas versões, basta clicar, dentro da pasta classes, com o botão direito e clicar em SVN Update.

 

 

2. Carregando a biblioteca

 

Dentro da pasta "classes", temos várias outras pastas. Entre na pasta "trunk" e copie a pasta "classes", dentro dela. Cole-a na pasta de seu WebSite para melhor acesso.

 

Depois disso, crie um arquivo chamado "load.php", dentro de seu website, e em seu conteúdo cole o seguinte:

 

/**
* @ignore
* @package examples
* @author Wrzasq <[email protected]>
* @copyright 2007 (C) by Wrzasq
* @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU Lesser General Public License, Version 3
*/


// binds your __autoload code
if( function_exists('__autoload') )
{
   spl_autoload_register('__autoload');
}

// includes POT main file

include('classes/OTS.php');

// database configuration - can be simply moved to external file, eg. config.php
$config = array(
   'driver' => POT::DB_MYSQL, //Aqui, você escolhe entre DB_MYSQL, para Mysql, e DB_SQLITE, para SQLite.
   'prefix' => '', //Em caso de prefixo nas tabelas, adicione-o entre os '' (apostrofos)
   'host' => 'localhost', //Aqui, você substitui localhost pelo host SQL
   'user' => 'root', //Aqui vem o usuário do servidor SQL
   'password' => '', //A senha
   'database' => 'otserv' //O nome do banco de dados
);

// creates POT instance (or get existing one)
$ots = POT::getInstance();
$ots->connect(POT::DB_MYSQL, $config);
$ots->getDBHandle()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Essa linha é opcional mas é útil em casos de erros no banco de dados.

Esse arquivo será responsável pelo carregamento da POT. Como visto acima, a classe será usada em cima da variavel $ots.

 

Depois de criado o arquivo, vá ao seu config.php (ou qualquer outro arquivo de configuração do seu site) e adicione:


include ('load.php');

3. Usando o POT

 

E agora, já fiz o download e carreguei a classe. Como uso?

Simples. Como vimos anteriormente, atribuímos à variável $ots toda a instancia do POT. Sendo assim, é com ela que diremos à classe o que fazer. Vejamos um exemplo simples, para compreenção, de um sistema de login:

 


<?php
include ('config.php'); //Só use caso você ainda não o tenha feito
$login = '123'; //Definimos a conta (pode ser obtida por método POST de formulários, etc)
$senha = '456'; //Idem

$account = $ots->createObject('Account'); //Atribuímos à variável $account a classe que manipula as accounts do banco de dados.
$account->load($login); //Carregamos, do banco de dados, a conta $login (123)
if ($account->isLoaded()) { //Verifica se a account foi carregada pela bool isLoaded
if ($account->getPassword() == $senha) { //Pega a senha pelo método getPassword e faz a comparação com nossa senha, para sabermos se é a mesma
echo 'Login efetuado com sucesso!';
} else { //Caso a senha for diferente
echo 'Senha incorreta!';
}
} else { //Caso a conta não existir, já que não foi carregada
echo 'A account selecionada não existe!';
}


Entendendo o código

 

Como vimos acima, carreguei o arquivo config.php que carregará o arquivo de classes POT. É importante que, todas as vezes que você for usar POT no programa, você carrege o arquivo load.php, que pode ser feito através de outro arquivo ou diretamente do arquivo selecionado.

Depois de carregado, temos $ots como variável da instancia POT e, com ela, atribuímos à variável $account a classe de accounts da biblioteca POT, usando o método createObject.

 

Atenção:
Usamos $ots->createObject('Account') para criarmos instancias da classe que manipula as Accounts. Para outros fins, como por exemplo, Players, usamos $ots->createObject('Player'), etc.

 

Agora que já temos nossa classe criada, podemos usar a variável $account para manipularmos accounts. Porém, ainda não selecionamos uma account para manipular, por isso usamos o método
load
para carregar uma account, existente ou não.

 

Depois de carregarmos nossa account, é hora de ver se ela existe ou não. Para isso, usamos a bool (boolean)
isLoaded
para verificarmos se nossa instacia carregou a account corretamente. Nossa clausula If continuará o código caso a conta esteja carregada ou irá para nossa condição Else, caso a account não exista.

 

Obviamente, depois que carregamos a account é hora de verificarmos se a senha dela corresponde à senha inserida (em nosso caso que estamos criando um sistema de login - para outros casos, não é nescessária essa verificação para mexermos na account). Para isso, usamos o método
getPassword
, que retornará o password da account carregada. Criamos outro bloco If para compararmos as senhas e verificarmos se elas são equivalentes. Caso forem, exibimos a mensagem de que o login foi executado com sucesso. Caso contário, retornamos a mensagem de que a senha inserida é incorreta.

 

 

________________________________________________

 

 

Mas já? Sim. Nossa biblioteca possúi
muito
mais recursos que isso, e estes podem ser todos vistos no web site oficial. Em breve, criarei mais tópicos com funcionalidades prontas e explicadas para uso imediato.

 

Espero que tenham gostado e que usem bastante essa maravilha que reduzirá seus códigos absurdamente.

 

Abraços, e bom uso!

Compartilhar este post


Link para o post
ElfKiller    36
ElfKiller

Mais que aprovado, aprovadissimo =P

Compartilhar este post


Link para o post
luisxddd    0
luisxddd

=// n deu no meu

fala assim

Error: PROPFIND request failed on '/opentibia/pot'

Error: PROPFIND of '/opentibia/pot': Could not resolve hostname `opentibia.svn.sourceforge.net...': O nome solicitado é válido e foi encontrado no banco de dados, mas os dados corretos associados não estão resolvidos. (http://opentibia.svn.sourceforge.net...)

:blush::blush::blush:

Compartilhar este post


Link para o post
Boleta    1
Boleta

@luisxddd

Tem certeza que está tentando com o endereço abaixo?

 

http://opentibia.svn.sourceforge.net/svnroot/opentibia/pot

Provavelmente você copiou o link reduzido no tópico. Mesmo assim, já modifiquei para possiveis erros. (no lugar dos ..., coloquei /svnroot, ficando, no fim, /svnroot/opentibia/pot

 

Caso não volte a funcionar, entre em contato, mas acredito que não será nescessário.

 

Abraços!

Compartilhar este post


Link para o post
Rafiel    0
Rafiel

Naum Intendi

Compartilhar este post


Link para o post
Boleta    1
Boleta
Naum Intendi

 

Parabéns!!

Da próxima vez, porquê você não diz o que não entendeu? Seria realmente mais prático.

 

Estou considerando essa mensagem como flood, o que acarretará uma infração pra você.

Compartilhar este post


Link para o post
Bogos    0
Bogos

Poxa, eu não sabia desse Toolkit não.

Completamente fácil fazer um portal pra OTServ agora, tem tudo pronto. Andei vendo o site, tem muitas classes ainda, todas facilitam em 101% a vida de quem vai desenvolver o site.

E o tutorial ficou 10! Acho que faltou falar de mais classes, mesmo que a grosso modo, mas ficou 10 de qualquer maneira. Mandou bem fera! huahuahua

 

Abraços Boletinha!

Compartilhar este post


Link para o post
Lancer    0
Lancer

Eu não gostei do POT, porque o Bogos gostou, sou tudo contra ele x)~

 

Só concordo que o tutorial fico baum x)~~~~

 

Parabéns letinha lindinha!

Compartilhar este post


Link para o post
GekO    0
GekO

Realmente, para aqueles que não entendem fica dificil vêr toda essa programação.

Tutorial muito bom. Parabens!

Compartilhar este post


Link para o post
savity    1
savity

Bom, eu não vou usar aqui.

Mas o tuto ficou bom.

Aprovado.

=D

Compartilhar este post


Link para o post
schibuola    0
schibuola

kra eu queria so saber se alquem sabe bugar mana rune?

Aproposito Aprovado.

eu n vou usar no meu ot pq eu n gosto de criar acc no site.

ta aprovado pq vc explicou tudo direitinho paço por paço.

continue postando assim.

 

Galera Entrem no meu ot

quase 24hrs

novas casas

teleport´s feito por mim

 

xp:200

runas e bolts infinitas

skill:1000

mana:500

fast atak

 

conto com vcs la

Compartilhar este post


Link para o post
HenneT    2
HenneT

Não entendi muito bem pra que serve, mas deve ser bom UAHUahuAUHahuHU

 

No caso você teria que usar um compilador? viajei ai ._.

 

 

Ou é só uma biblioteca com mais funções para facilitar na hora de criar accounts via mysql?

 

 

Abraços HeNNET B)\\

Compartilhar este post


Link para o post
Boleta    1
Boleta

@hennet

Não, não precisa de um compilador. Como você disse, é uma biblioteca para auxiliar o manuseio do banco de dados mysql, e não apenas criar contas ^^.

 

Abraços!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×