Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.. Será que vocês podem avaliar está classe que eu fiz? Tentei fazer do jeito mais simples possivel...
Quando eu digo avaliar é..
Se está simples.. Se tem como deixar c/ mais "perfomance".
Se usei algum comando que pode ser subtituido por outro.
Se ja existe, e eu fiz atoa rsrs.
E se possivel dar dicas aonde eu posso melhorar.
Bom eu não comentei o código então vou explicar..
Eu fiz este código para escrever variaveis em uma tabela (sql), com Nome da variavel, Index, Valor..
E depois é so eu puxar os dados..
Isso me economiza muito tempo, pois posso rapidamente armazenar uma informação, e nao preciso criar uma tabela so para o caso..
Bom eu fiz 7 funções.
Set() = Seta uma variavel ou array na tabela.
Get() = Puxa uma variavel ou array da tabela.
Count() = Conta quantas variaveis X tem na tabela.
Del() = Deleta uma variavel[x] da tabela.
Delarray() = Deleta uma array da tabela.
Copy = Copia uma variavel_x[x] ou para variavel_y[y].
Copyarray = Copia uma array_x para array_y.
Código:
<?php
/ ---------------------------------------------------- /
/* Informações
/* ----------------------------------------------------
/* Tabela SQL
CREATE TABLE IF NOT EXISTS cp_vars (str varchar(55) NOT NULL,index int(11) UNSIGNED NOT NULL DEFAULT '0',value varchar(255) NOT NULL,
PRIMARY KEY (str, index)
);
/ ---------------------------------------------------- /
/ ---------------------------------------------------- /
class eVar {
/ ---------------------------------------------------- /
/* Basic Config
/ ---------------------------------------------------- /
private $table = 'cp_vars'; //Tabela
/ ---------------------------------------------------- /
function checkIndex($str) {
if($str) {
$r = explode(']', $str);
return $r[0];
} else
return 0;
}
function set($str, $val) {
$str = explode('[', $str);
$index = $this->checkIndex($str[1]);
if(!is_array($val)) {
if(mysql_query("INSERT INTO `$this->table` (`str`, `index`, `value`) VALUES ('$str[0]', $index, '$val')")) return true;
else if(mysql_query("UPDATE `$this->table` SET `value` = '$val' WHERE `str` = '$str[0]' AND `index` = $index")) return true;
else return false;
}
else {
foreach($val as $value) {
if(!mysql_query("INSERT INTO `$this->table` (`str`, `index`, `value`) VALUES ('$str[0]', $index, '$value')"))
mysql_query("UPDATE `$this->table` SET `value` = '$value' WHERE `str` = '$str[0]' AND `index` = $index");
$index++;
}
return true;
}
return false;
}
function get($str) {
if(strpos($str, '[')) {
$str = explode('[', $str);
$index = $this->checkIndex($str[1]);
if($qr = mysql_query("SELECT `value` FROM `$this->table` WHERE `str` = '$str[0]' AND `index` = '$index'")) {
$r = mysql_fetch_row($qr);
return $r[0];
}
else return false;
}
else {
if($qr = mysql_query("SELECT `value` FROM `$this->table` WHERE `str` = '$str'")) {
$i = 0;
while($row = mysql_fetch_row($qr)) {
$r[$i] = $row[0];
$i++;
}
return $r;
}
else return false;
}
}
function count($str) {
if($qr = mysql_query("SELECT COUNT(*) FROM `$this->table` WHERE `str` = '$str'")) {
$r = mysql_fetch_row($qr);
return $r[0];
}
else return false;
}
function del($str) {
$str = explode('[', $str);
$index = $this->checkIndex($str[1]);
if(mysql_query("DELETE FROM `$this->table` WHERE `str` = '$str[0]' AND `index` = $index")) return true;
else return false;
}
function delarray($str) {
if(mysql_query("DELETE FROM `$this->table` WHERE `str` = '$str'")) return true;
else return false;
}
function copy($str, $new_str) {
$str = explode('[', $str);
$index = $this->checkIndex($str[1]);
$new_str = explode('[', $new_str);
$new_index = $this->checkIndex($new_str[1]);
if($qr = mysql_query("SELECT `value` FROM `$this->table` WHERE `str` = '$str[0]' AND `index` = '$index'")) {
$r = mysql_fetch_row($qr);
if(mysql_query("INSERT INTO `$this->table` (`str`, `index`, `value`) VALUES ('$new_str[0]', $new_index, '$r[0]')")) return true;
else if(mysql_query("UPDATE `$this->table` SET `value` = '$r[0]' WHERE `str` = '$new_str[0]' AND `index` = $new_index")) return true;
else return false;
}
else return false;
}
function copyarray($str, $new_str) {
if($qr = mysql_query("SELECT `index`, `value` FROM `$this->table` WHERE `str` = '$str'")) {
while($row = mysql_fetch_row($qr)) {
if(!mysql_query("INSERT INTO `$this->table` (`str`, `index`, `value`) VALUES ('$new_str', $row[0], '$row[1]')"))
mysql_query("UPDATE `$this->table` SET `value` = '$row[1]' WHERE `str` = '$new_str' AND `index` = $row[0]");
}
return true;
}
else return false;
}
}
?>
Grato...
Carregando comentários...