DOCUMENTAÇÃO FABULA FRAMEWORK Banco - PHP

Propaganda
DOCUMENTAÇÃO FABULA FRAMEWORK
Site: http://fabula.scorninpc.com
Forum: http://fabula.scorninpc.com/forum
Documentação Online: http://fabula.scorninpc.com/documentacao
Download Fabula Framework: http://fabula.scorninpc.com/download/viewcategory/3
Copyright © 2010 Bruno Pitteli Gonçalves.
All Rights Reserved
Banco de Dados
MySQL
Descrição:
Cria a conexão com o banco de dados
Escopo:
resource Fabula::MySQL(
$server,
$username,
$password,
$database,
$logFile = NULL
);
Parametros:
$server
$username
$password
$database
$logFile
String
String
String
String
String
Endereço do servidor MySQL
Usuário do servidor MySQL
Senha do usuário do servidor MySQL
Base de dados à selecionar MySQL
Caminho+nome do arquivo de log de bad queryes
Exemplos:
<?php
$objDB = Fabula::MySQL("localhost", "root", "", "meusistema");
echo $objDB->GetOne("SELECT email FROM colaboradores LIMIT 5, 1");
SQLite
Descrição:
Cria a conexão com o banco de dados SQLite
Escopo:
resource Fabula::SQLite(
$file,
$logFile = NULL
);
Parametros:
$file String Caminho para o arquivo do banco de dados
$logFile
String Caminho+nome do arquivo de log de bad queryes
Exemplos:
<?php
$objDB = Fabula::SQLite("database.sqlite", "sqlite.log");
echo $objDB->GetOne("SELECT nome FROM usuarios LIMIT 1");
AutoExecute
Descrição:
Executa insert e update no banco de dados
Requisitos:
MySQL, SQLite
Escopo:
bool DataBase->AutoExecute(
$table,
$record,
$method,
$where = NULL
);
Parametros:
$table String
$record
$method
$where
Tabela que se aplica a mudança
Array Vetor com as informações a serem inseridas ou atualizadas
String Modo [insert, update]
String Condição que se aplica o metodo update
Exemplos:
<?php
$objDB = Fabula::MySQL("localhost", "root", "", "meusistema");
$info['nome'] = "Meu usuario";
$info['email'] = "meuusuario @ meuemail.com";
$result = $objDB->AutoExecute("colaboradores", $info, "insert");
unset($info);
$info['nome'] = "Outro nome";
$result = $objDB->AutoExecute("colaboradores", $info, "update", "email = 'meuusuario @
meuemail.com'");
Execute
Descrição:
Executa uma query no banco de dados
Requisitos:
MySQL, SQLite
Escopo:
resource DataBase->Execute(
$sql
);
Parametros:
$sql String Query à ser executada
Exemplos:
<?php
$objDB = Fabula::MySQL("localhost", "root", "", "meusistema");
$result = $objDB->Execute("SELECT nome, email FROM colaboradores");
while($result->EOF)
{
echo $result->Fields["nome"] . "\t\t" . $result->Fields[1] . "\n";
$result->MoveNext();
}
GetOne
Descrição:
Busca o valor da primeira coluna, primeira linha de uma query
Requisitos:
MySQL, SQLite
Escopo:
string DataBase->GetOne(
$sql
);
Parametros:
$sql
String Query à executar
Exemplos:
<?php
$objDB = Fabula::MySQL("localhost", "root", "", "meusistema");
echo $objDB->GetOne("SELECT Count(*) FROM colaboradores");
InsertID
Descrição:
Busca o ultimo valor inserido em uma chave primaria
Requisitos:
MySQL, SQLite
Escopo:
int DataBase->InsertID( );
Parametros:
Exemplos:
<?php
$objDB = Fabula::MySQL("localhost", "root", "", "meusistema");
$info['nome'] = "Meu usuario";
$info['email'] = "meuusuario @ meuemail.com";
$return = $objDB->AutoExecute("colaboradores", $infos, "insert");
echo $objDB->InsertID();
MultipleExecute
Descrição:
Executa varias queries no banco de dados
Requisitos:
MySQL, SQLite
Escopo:
bool DataBase->MultipleExecute(
$sql
);
Parametros:
$sql
String Queries à serem executadas, separadas por ; e/ou \n
Exemplos:
<?php
$objDB = Fabula::MySQL("localhost", "root", "", "meusistema");
$sql = file_get_contents("arquivo.sql");
$result = $objDB->MultipleExecute($sql);
DIALOGS
Alert
Descrição:
Mostra alertas
Escopo:
void Fabula::Alert(
$strMessage,
$strTitle,
$stockImage = Gtk::STOCK_DIALOG_WARNING
);
Parametros:
$strMessage String Mensagem do box
$strTitle
String Titulo do box
$stockImage Contant Opcional
Constante GTK da imagem do box
Exemplos:
<?php
Fabula::Alert(
"Não foi possivel encontrar o arquivo!",
"Erro!",
Gtk::STOCK_DIALOG_ERROR
);
ChooseFile
Descrição:
Cria dialogos para seleção de diretório ou arquivos
Escopo:
string Fabula::ChooseFile(
$splashScreen,
$filters = NULL,
$type = Gtk::FILE_CHOOSER_ACTION_OPEN
);
Parametros:
$strTitle
String Titulo do box
$filters
Array Conteúdo do filtro
$type GtkFileChooser
Tipo do box
Exemplos:
<?php
$folder = Fabula::ChooseFile("Selecione um diretório", NULL,
Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER);
$file = Fabula::ChooseFile("Selecione uma imagem", array("*.jpg", "*.bmp"));
MsgBox
Descrição:
Mostra e obtem retorno de alertas
Escopo:
int constant Fabula::MsgBox(
$strMessage,
$strTitle,
$buttons = array(Gtk::STOCK_OK, Gtk::RESPONSE_OK),
$stockImage = Gtk::STOCK_DIALOG_WARNING
);
Parametros:
$strMessage
$strTitle
$buttons
$stockImage
String Mensagem do box
String Titulo do box
Array Opcional
Botões do box
Contant Opcional
Constante GTK da imagem do box
Exemplos:
<?php
$res = Fabula::MsgBox(
"Deseja remover o aquivo?",
"Confirmação!",
array(Gtk::STOCK_YES, Gtk::RESPONSE_YES, Gtk::STOCK_NO,
Gtk::RESPONSE_NO),Gtk::STOCK_DIALOG_QUEST
);
if($res == Gtk::RESPONSE_YES)
{
unlink($file);
}
splashCreate
Descrição:
Cria diálogos de splash
Escopo:
GtkWindow Fabula::splashCreate(
$imagePath
);
Parametros:
$imagePath
String Caminho para a imagem do splash
Exemplos:
<?php
$splash = Fabula::splashCreate("images/splash.png");
for($i=0; $i<=9999999; $i++) // TESTE PARA O SPLASH PERMANECER EM TELA
while(gtk::events_pending())
gtk::main_iteration();
Fabula::splashHide($splash);
splashHide
Descrição:
Esconde diálogos de splash
http://fabula.scorninpc.com/administrator/index.php?option=com_content#
Escopo:
void Fabula::splashHide(
$splashScreen
);
Parametros:
$splashScreen
GtkWindow
SplashScreen criado com splashCreate()
Exemplos:
<?php
$splash = Fabula::splashCreate("images/splash.png");
for($i=0; $i<=9999999; $i++) // TESTE PARA O SPLASH PERMANECER EM TELA
while(gtk::events_pending())
gtk::main_iteration();
Fabula::splashHide($splash);
MENUS
menuLoadXML
Descrição:
Cria menus a partir de um XML
Escopo:
void Fabula::menuLoadXML(
$file,
$mainObject = NULL
);
Parametros:
$file String Caminho do arquivo XML
$mainObject Object Opcional
Objeto onde esta os métodos do XML
Exemplos:
<?xml version="1.0" encoding="ISO-8859-1"?>
<menubar name="mnuBar">
<menu name="file" title="Arquivo">
<menuitem name="mnuOpen" title="Abrir" onclick="mnuOpen_onclick" />
<menuitem name="mnuExit" title="Sair" onclick="mnuExit_onclick" />
</menu>
</menubar>
<?php
require_once("trunk/Fabula.class.php");
// Classe de testes
class Teste
{
// Armazena os widgets da classe
public $widgets = array();
// Construtor
public function __construct()
{
// Cria a janela
$this->widgets['frmMain'] = new GtkWindow();
$this->widgets['frmMain']->set_size_request(200, 200);
$this->widgets['frmMain']->add($vbox = new GtkVBox());
$this->widgets['frmMain']->connect_simple("destroy", array($this,
"frmMain_unload"));
// Cria o menu
$this->widgets['mnuBar'] = Fabula::menuLoadXML("mainmenu.xml", $this);
$vbox->pack_start($this->widgets['mnuBar']['object'], FALSE, FALSE);
// Adiciona qualquer coisa na segunda parte
$vbox->pack_start(new GtkFixed(), TRUE, TRUE);
$this->widgets['frmMain']->show_all();
Gtk::main();
}
// Encerra a aplicação
public function frmMain_unload()
{
Gtk::main_quit();
exit(0);
}
// Menu mnuOpen
public function mnuOpen_onclick()
{
echo Fabula::ChooseFile("Abrir");
}
// Menu mnuExit
public function mnuExit_onclick()
{
$this->frmMain_unload();
}
}
new Teste();
METODOS
loadXMLConfig
Descrição:
Carrega configurações de um XML
Escopo:
void Fabula::loadXMLConfig(
$file
);
Parametros:
$file
String Caminho do arquivo XML
Exemplos:
<?xml version="1.0" encoding="ISO-8859-1"?>
<config>
<session name="database">
<option name="host" value="192.168.1.1" />
<option name="username" value="root" />
<option name="password" value="" />
<option name="name" value="myDB" />
</session>
<session name="containers">
<option name="debug" value="FALSE" />
<option name="console" value="FALSE" />
<option name="explorer" value="TRUE" />
</session>
</config>
<?php
require_once("/home/scorninpc/Projetos/projetos/Fabula/trunk/Fabula.class.php");
// Carrega as configurações
$config = Fabula::loadXMLConfig("config.xml");
// Classe de testes
class Teste
{
public function __construct()
{
// Mostra
var_dump($GLOBALS['config']);
}
}
new Teste();
TREEVIEW
treeviewHighLight
Descrição:
Cria o efeito zebrado em treeviews
Escopo:
void Fabula::treeviewHighLight(
$widget,
$colorA,
$colorB
);
Parametros:
$widget
$colorA
$colorB
GtkTreeView GtkTreeview à aplicar o efeito zebrado
Cor HEX
Cor em hexadecimal da primeira linha
Cor HEX
Cor em hexadecimal da segunda linha
Exemplos:
<?php
$model = new GtkListStore(GObject::TYPE_STRING);
$trvPartners = new GtkTreeView($model);
$render = new GtkCellRendererText();
$column = new GtkTreeViewColumn("Cód.", $render, "text", 0);
$trvPartners->append_column($column);
Fabula::treeviewHighLight($trvPartners, "#EDEDED", "#FFFFFF");
$model->append(array('TESTE'));
$model->append(array('TESTE'));
$model->append(array('TESTE'));
$model->append(array('TESTE'));
WIDGETS
DeskAlert
Descrição:
Mostra alertas no estilo MSN
Escopo:
int constant Fabula::DeskAlert(
);
Métodos e propriedades:
set_size_request($width, $height) Método
Seta o tamanho do dialog
show()
Método
Mostra o dialog
hide() Método
Esconde o dialog
initial Propriedade Seta a altura inicial do dialog
Exemplos:
$alert = Fabula::DeskAlert();
$alert->set_size_request(300, 100);
$alert->show();
GtkLabel
Descrição:
Cria um GtkLabel, alinhado à esquerda
Escopo:
void Fabula::GtkLabel(
$text
);
Parametros:
$file
String Texto do label
Exemplos:
<?php
require_once("trunk/Fabula.class.php");
// Classe de testes
class Teste
{
// Armazena os widgets da classe
public $widgets = array();
// Construtor
public function __construct()
{
// Cria a janela
$this->widgets['frmMain'] = new GtkWindow();
$this->widgets['frmMain']->set_size_request(200, 200);
$this->widgets['frmMain']->add($vbox = new GtkVBox());
$this->widgets['frmMain']->connect_simple("destroy", array($this,
"frmMain_unload"));
// Adiciona um fixed
$vbox->pack_start($fix = new GtkFixed(), TRUE, TRUE);
// Cria o label
$this->widgets['lblTest'] = Fabula::GtkLabel("ok");
$fix->put($this->widgets['lblTest'], 8, 8);
// Mostra a janela
$this->widgets['frmMain']->show_all();
Gtk::main();
}
// Encerra a aplicação
public function frmMain_unload()
{
Gtk::main_quit();
exit(0);
}
}
new Teste();
minimizablePanel
Descrição:
Cria paineis minimizáveis
Escopo:
int constant Fabula::minimizablePanel(
);
Métodos e propriedades:
set_tab_pos($pos)
Método
Seta a posição das abas
insert($widget, $label)
Método
Insere uma aba ao painel
Exemplos:
$hbox = new GtkHBox();
$hbox->pack_start($panel1 = Fabula::minimizablePanel(), FALSE, FALSE);
$hbox->pack_start(new GtkTextView(), TRUE, TRUE);
$hbox->pack_start($panel2 = Fabula::minimizablePanel(), FALSE, FALSE);
$panel1->set_tab_pos(Gtk::POS_LEFT);
$panel2->set_tab_pos(Gtk::POS_RIGHT);
newButtonFromImage
** Método temporário **
Descrição:
Cria um GtkButton, com imagem a partir de um arquivo
Escopo:
void Fabula::newButtonFromImage(
$image,
$label = NULL
);
Parametros:
$image
String Caminho para o arquivo de imagem
$label String Opcional
Texto para o botão
Exemplos:
<?php
require_once("trunk/Fabula.class.php");
// Classe de testes
class Teste
{
// Armazena os widgets da classe
public $widgets = array();
// Construtor
public function __construct()
{
// Cria a janela
$this->widgets['frmMain'] = new GtkWindow();
$this->widgets['frmMain']->set_size_request(200, 200);
$this->widgets['frmMain']->add($vbox = new GtkVBox());
$this->widgets['frmMain']->connect_simple("destroy", array($this,
"frmMain_unload"));
// Adiciona um fixed
$vbox->pack_start($fix = new GtkFixed(), TRUE, TRUE);
// Cria o botão
$this->widgets['btnTest'] = Fabula::newButtonFromImage("icons/camera.png",
"camera");
$fix->put($this->widgets['btnTest'], 8, 8);
// Mostra a janela
$this->widgets['frmMain']->show_all();
Gtk::main();
}
// Encerra a aplicação
public function frmMain_unload()
{
Gtk::main_quit();
exit(0);
}
}
new Teste();
Download