Jump to content

Getho

Members
  • Content count

    29
  • Joined

  • Last visited

Community Reputation

0 Comum

About Getho

  1. Getho

    Curiosidade e desenvolvimento

    Quanto a minha duvida: assim como no wp tem a opção de criação, edição, exibição e edição das paginas Assim: no painel dever ter a opção criar pagina, ao ser clicado nessa opção ele me tras o campo input type=text para colocar o titulo da pagina, o editor (o tinyMCE ou CKEditor), como o da imagem: Por exemplo: nessa area do WP tem a opção de edição e exclusão Sei sim fazer CRUD comun de ususario e artigos(nunca fiz em paginas). Conheço (JS, Css, Html). Banco de dados(Mysql, PostgreSQL) Sei PHP. Esses prints são do Wordpress No back-end, como fazer está codificação: sei que essas informações quando passada, são enviadas para o banco quando gerar ou posso criar um menu. Com tudo lincado. Front-end, quando o cliente acessa o site la esta o menu e quando clicado no menu aparece o conteudo que é resgatado do banco. Nesse processo todo eu sei fazer a pagina na administração pra salvar, editar e excluir, fazer os menus e linca-los para o banco. O problema é justamente do outro lado, Como eu faço para exibir esses arquivos e menus no template para o usuario. Exemplo: tenha as paginas: index.php?page=home, index.php?page=empresa index.php?page=sobre index.php?page=contato (essas paginas todo existe). vamos supor que meu cliente tem o site desta forma acima(ele não sabe programar uma linha de codigo), mas ele que criar uma pagina no site por exemplo index.php?page=galeria dai ele vai na administração e cria, pra depois aparecer lá pra ele a pagina e o respectivo menu que ele criou. Eu preciso fazer uma função de loop que fica verificando no banco direto pra sempre que tiver um novo menu na tabela menu(por exemplo) ele faça a exibição na nav do site, com uma codicional para só exibir se este menu tiver um conteúdo(seria o conteúdo da pagina) de que ira imprimir na tela para o usuario. É isso que o Wordpress faz correto ? Gostaria apenas de saber como faz essa codificação, tenho a lógica só não to sabendo usa-la. Eu to confuso, é como eu faço pra exibir esse conteúdo(da nova pagina do exemplo que dei acima) formatado na tela para o usuario assim como as outras paginas. Se conseguirem me dar uma força fico agradecido. De amanhã até domingo vou tentar codificar está pagina(como trabalho em outra area) faço desenvolvimento no meu tempo vago. Boa noite a todos. Esses CMS, vou dar uma olhada neles sim. Apesar que e bem complicado os codigos do joomla, acredito que o wp seja mais facil. To querendo criar algo novo, por aventura e aprendizado. Do WP quero so a adminstraçao de paginas, a resto ja sei como fazer e ja fiz um tempo apaguei. E vou fazer denovo junto quero o sisteminha de administraçao de paginas. .php .js .css Valeu
  2. Getho

    Curiosidade e desenvolvimento

    Entedi fiz varias leituras mas o que entendi é sobre os tipos de licenças destas aplicações, a forma de crescimento com Clunding e estrutura de projetos vinculados a servidores. conteudo em pt-br: http://pt.wikipedia.org/wiki/Software_como_servi%C3%A7o Mas não consegui encontrar informações sobre a pergunta anterior. Seria uma administração simples de paginas. Para contruir uma função parecida com essa do WP add new pagina, editar e deletar. sei que posso usar o WP, mas como eu poderia criar apenas a função das paginas, pra funcionar desta forma é possivel ?
  3. Getho

    Curiosidade e desenvolvimento

    Bom dia pessoal, Vi uma duvida do kall.max (http://forum.imasters.com.br/topic/526482-criacao-de-um-sistema-administrativo-de-paginas/) aqui no forum e me surgiu uma curiosidade, como a pergunta dele não tem resposta, e eu sempre estou sempre querendo aprender algo novo, decidir tirar minha curiosidade. Então como eu faço pra desenvolver um administração de paginas como a do Wordpress ? Pelo intuito de aprender estou pensando em criar um sistema de administração de paginas. No modelo daquele do Wordpress. Obrigado.
  4. Desculpa a demora, è o seguinte, efetuei todo processo. Ele fica sobre uma mesa comun. Tenho ele a +- 4 anos tenho uma vasta experiência e manutenção de computadores(PC) e nunca tive esse tipo de problema com PC, como entendo razoavél de Notbook efetuei todo o processo de limpeza de meu not, formatei troquei a pasta termica, limpei a placa mãe com pincel, removi todos componentes e limepei troquei o HD que tava meio bugado, removi e limpei memoria, processador, troquei pasta por adesivo termico, não funcionou voltei e coloquei pasta termica de novo. Enfim fiz tudo que se pode fazer em um PC, agora notebook sei que é mais frágil e sua temperatura as vezes é maior que uim pc convencional. removi todo que inicia no msconfig, usei o advanced system care, habilitei o modo de trabalho turbo que desabilita o que não for nescessário. Quando formeatei mudei de Windows 7 ultimate para Windows professional que é um pouco mais leve. Uso dual boot com linux, porém mesmo no linux está aquevendo e com altos indices de temperatura. Enfim to quase achando que vai ser preciso comprar outro. Se tiver alguma ideia do que pode ser por favor me fale Rsss. Valeu Veja as imagens das temperaturas no LInux e windows e com alguns programas, normalmente esses prints foram tirados com um ou dois progamas abertos:
  5. Conheço Java OO e Php OO, agora MVC ainda nao. Vou segui sua dica. Mas me fale uma coisa, compensa usar Frameworks ou e melhor programar do zero ?? E Qual melhor curva de aprendizado MVC e Framework caso a resposta anterior for sim ??
  6. Salve rapaziada, Estou com uma duvida e uma nessecidade, Estou desenvolvendo uma sistema() que será bem complexo, em diversas pesquisas na internet, vejo na mioria dos casos a defesa do uso de frameworks e tais(zend, condeIgniter, symfony, Yii, Laravel, cake e outros). Certo mais gostaria de saber uma coisa, fiz uma breve pesquisa sobre tais frameworks e vi que utilizam o padrão MVC(ja vi falar mas não consegui usá-lo até hoje), houve a sugestão do uso do Doctrine\dbal :: Doctrine\orm(http://www.doctrine-project.org/), estive observando que pra usá-lo devo fazer uso do padrão MVC; em fim, gostaria de uma dica, ideia, tuto, sugestão ou qualquer ideia ou indicação do melhor framework, com menor curva de aprendizado. Qual uma boa que poderia aprender(com dicas, e tutos), ou seria melhor continuar a desenvolver normal sem uso de frameworks ?
  7. Getho

    PDO e PHP :: dbal

    Vc sabe como funciona a estrutura dele ? Pois não encontrei na documentação falando sobre isso e nem na internet.
  8. Getho

    PDO e PHP :: dbal

    Alguém conhece o Doctrine DBAL: PHP Database Abstraction Layer ? Pacote orientado a objeto via PDO. Sabe se é bom e como usá-lo ?
  9. Getho

    Crud generico com PDO

    Muito bom,Vou dar uma analizada sim. Estou procurando a fundo sobre uma forma eficaz de fazer isso. Alguém conhece o Doctrine DBAL: PHP Database Abstraction Layer ? Sabe se é bom e como usá-lo ?
  10. Getho

    Crud generico com PDO

    Você poderia me indicar um framework pra PHP que faça isso ? no caso o framework Django é para pyton.
  11. Getho

    Crud generico com PDO

    Então, eu quero fazer algo mais simples e seguro para minhas conexões. Eu quero tranformar este codigo: <?phpabstract class banco { //propriedades public $servidor = "localhost"; public $usuario = "usuario"; public $senha = "senha"; public $nomebanco = "crud"; public $conexao = NULL; public $dataset = NULL; public $linhasafetadas = -1; //métodos public function __construct() { $this->conecta(); }//contruct --controi o metodo. public function __destruct() { if ($this->conexao != NULL): mysql_close($this->conexao); endif; }//destrct --Destroi o metodo criado. public function conecta() { $this->conexao = mysql_connect($this->servidor, $this->usuario, $this->senha, TRUE) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE)); mysql_select_db($this->nomebanco) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE)); mysql_query("SET NAMES 'utf8'"); mysql_query("SET character_set_connection=utf8"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_results=utf8"); ##echo "O metodo conecta foi chamado"; }//conecta //Para inserir dados ao banco de dados public function inserir($objeto) { $sql = "INSERT INTO " . $objeto->tabela . " ("; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= key($objeto->campos_valores); if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; //Resetando os valores... reset($objeto->campos_valores); $sql .= "VALUES ("; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'"; if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; return $this->executaSQL($sql); }//fim função inserir //Atualizar Banco de dados public function atualizar($objeto) { $sql = "UPDATE " . $objeto->tabela . " SET "; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= key($objeto->campos_valores) . "="; $sql.= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'"; if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .= "WHERE " . $objeto->campopk . "="; $sql .= is_numeric($objeto->campopk) ? $objeto->valorpk : "'" . $objeto->valorpk . "'"; return $this->executaSQL($sql); }// fim atualizar sql //Deletar dados do banco public function deletar($objeto) { $sql = "DELETE FROM " . $objeto->tabela; $sql .= " WHERE " . $objeto->campopk . "="; $sql .= is_numeric($objeto->campopk) ? $objeto->valorpk : "'" . $objeto->valorpk . "'"; return $this->executaSQL($sql); }//Fim deletar //Seleciona tudo public function selecionaTudo($objeto) { $sql = "SELECT * FROM " . $objeto->tabela; if ($objeto->extras_select != NULL): $sql .= " " . $objeto->extras_select; endif; return $this->executaSQL($sql); }//Fim selecionaTudo //Seleciona campos public function selecionaCampos($objeto) { $sql = "SELECT "; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= key($objeto->campos_valores); if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .= " FROM " . $objeto->tabela; if ($objeto->extras_select != NULL): $sql .= " " . $objeto->extras_select; endif; return $this->executaSQL($sql); }//Fim selecionaCampos //Rotina de inserção de SQL public function executaSQL($sql = NULL) { if ($sql != NULL): $query = mysql_query($sql) or $this->trataerro(__FILE__, __FUNCTION__); $this->linhasafetadas = mysql_affected_rows($this->conexao); if (substr(trim(strtolower($sql)), 0, 6) == 'select'): $this->dataset = $query; return $query; else: return $this->linhasafetadas; endif; else: $this->trataerro(__FILE__, __FUNCTION__, 'Comando SQL nao informado na rotina', FALSE); endif; }// fim executaSQL //RetornaSQL dados public function retornaDados($tipo = NULL) { switch (strtolower($tipo)): case "array": return mysql_fetch_array($this->dataset); break; case "assoc": return mysql_fetch_assoc($this->dataset); break; case "object": return mysql_fetch_object($this->dataset); break; default: return mysql_fetch_object($this->dataset); break; endswitch; }//Fim retornaDados public function trataerro($arquivo = NULL, $rotina = NULL, $numerro = NULL, $msgerro = NULL, $geraexcept = FALSE) { if ($arquivo == NULL) $arquivo = "nao informado"; if ($rotina == NULL) $rotina = "nao informada"; if ($numerro == NULL) $numerro = mysql_errno($this->conexao); if ($msgerro == NULL) $msgerro = mysql_error($this->conexao); $resultado = 'Ocorreu um erro com os seguintes detalhes:<br /> <strong>Arquivo:</strong> ' . $arquivo . '<br /> <strong>Rotina:</strong> ' . $rotina . '<br /> <strong>Codigo:</strong> ' . $numerro . '<br /> <strong>Mensagem:</strong> ' . $msgerro; if ($geraexcept == FALSE): echo($resultado); else: die($resultado); endif; }//tratamento}//Fim classe banco?>Classe base: <?phprequire_once("banco.class.php");abstract class base extends banco { //Propriedades public $tabela = ""; public $campos_valores = array(); public $campopk = NULL; //pk primary key ou chave primaria public $valorpk = NULL; public $extras_select = ""; //metodos //Adicionar campo na tabela public function addCampo($campo = NULL, $valor = NULL) { if ($campo != NULL): $this->campos_valores[$campo] = $valor; //$valor que for passado endif; }//fim addCampo //Deleta campo public function delCampo($campo = NULL) { if (array_key_exists($campo, $this->campos_valores)): unset($this->campos_valores[$campo]); endif; }//fim delCampo. //Seta valor public function setValor($campo = NULL, $valor = NULL) { if ($campo != NULL && $valor != NULL): $this->campos_valores[$campo] = $valor; endif; }//fim setvalor //getValor public function getValor($campo = NULL) { if ($campo != NULL && array_key_exists($campo, $this->campos_valores)): return $this->campos_valores[$campo]; else: return FALSE; endif; }// fim getvalor}//fim classe base.?>chamada da classe: <?phprequire_once("base.class.php");class clientes extends base { //Contruct public function __construct($campos = array()) { parent::__construct(); $this->tabela = "clientes"; if (sizeof($campos) <= 0): $this->campos_valores = array( "nome" => NULL, "sobrenome" => NULL, ); else: $this->campos_valores = $campos; endif; $this->campopk = "id"; }//construct}//fim classe clientes.?> Para PDO, pois PDO possui maior segurança, é possivel ou fica muito complicado, estou batalhando e não estou conseguindo. Veja o que estou fazendo: Conexao.php <?php/* * O padrão Singleton * */abstract class Conexao { const USER = "user"; const PASS = "senha"; private static $instance = null; private static function conectar() { try { ##Tenta conectar ao banco se não funcionar cai no catch if (self::$instance == null): ##se não existir conexão com PDO receber a new PDO() | a conexão $dsn = "mysql:host=localhost;dbname=phpoo"; self::$instance = new PDO($dsn, self::USER, self::PASS); endif; } catch (PDOException $e) { echo "Erro: " . $e->getMessage(); # } return self::$instance; ## se ja exixtir uma conexão ele retorna a conexão } protected static function getDB() { return self::conectar(); } } Estou fazendo a classe abstrata.php e cada nova classe por exemplo cliente.php musicas.php criar uma nova classe. Me der um exemplo de um Insert Gererico com PDO
  12. Getho

    Crud generico com PDO

    Salve pessoal, Alguém ai sabe como criar um CRUD generico(funciona em todo sistema apenas alterando os paramentros) com PDO ? Estou tentando fazer um aqui.
  13. Getho

    Qual o melhor editor WEB

    Qual o mais usado pelo pessoal, qual acham melhor dentre esses ou outros. Enfim sempre há um preferido e um que seja muito bom(de maneira geral). Por curiosidade/usabilidade mesmo.
  14. Me tirem uma curiosidades: Qual a melhor ferramenta/IDE para desenvolvimento web atualmente? conheço: -->Netbeans, -->Eclipse, -->Dreamweaver(pago), -->jetbreans (pago), -->zend studio(pago), -->aptana, -->bluefish, -->codelobster -->outros.... Algum desses ou outro que seja bom(claro o quem manda não e o editor/IDE e sim o programador, há de ver que um bom IDE é uma mão e meia na roda). com suporte a JS, CSS3, HTML5, Php, mysql.... é se alguém souber de algum editor que facilite a vida com o atual padrão responsive(bootstrap, foundation ...). Curiosidade 2014...
  15. Getho

    CRUD com PDO

    Pessoal fiz este genérico OO a algum tempo, mas queria fazê-lo em PDO. Alguém saberia me dizer como fazer. Nesse aqui funciona em qualquer tabela. <?php abstract class banco { //propriedades public $servidor = "localhost"; public $usuario = "usuario"; public $senha = "senha"; public $nomebanco = "crud"; public $conexao = NULL; public $dataset = NULL; public $linhasafetadas = -1; //métodos public function __construct() { $this->conecta(); } //contruct --controi o metodo. public function __destruct() { if ($this->conexao != NULL): mysql_close($this->conexao); endif; } //destrct --Destroi o metodo criado. public function conecta() { $this->conexao = mysql_connect($this->servidor, $this->usuario, $this->senha, TRUE) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE)); mysql_select_db($this->nomebanco) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE)); mysql_query("SET NAMES 'utf8'"); mysql_query("SET character_set_connection=utf8"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_results=utf8"); ##echo "O metodo conecta foi chamado"; } //conecta //Para inserir dados ao banco de dados public function inserir($objeto) { $sql = "INSERT INTO " . $objeto->tabela . " ("; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= key($objeto->campos_valores); if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; //Resetando os valores... reset($objeto->campos_valores); $sql .= "VALUES ("; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'"; if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; return $this->executaSQL($sql); } //fim função inserir //Atualizar Banco de dados public function atualizar($objeto) { $sql = "UPDATE " . $objeto->tabela . " SET "; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= key($objeto->campos_valores) . "="; $sql.= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'"; if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .= "WHERE " . $objeto->campopk . "="; $sql .= is_numeric($objeto->campopk) ? $objeto->valorpk : "'" . $objeto->valorpk . "'"; return $this->executaSQL($sql); } // fim atualizar sql //Deletar dados do banco public function deletar($objeto) { $sql = "DELETE FROM " . $objeto->tabela; $sql .= " WHERE " . $objeto->campopk . "="; $sql .= is_numeric($objeto->campopk) ? $objeto->valorpk : "'" . $objeto->valorpk . "'"; return $this->executaSQL($sql); } //Fim deletar //Seleciona tudo public function selecionaTudo($objeto) { $sql = "SELECT * FROM " . $objeto->tabela; if ($objeto->extras_select != NULL): $sql .= " " . $objeto->extras_select; endif; return $this->executaSQL($sql); } //Fim selecionaTudo //Seleciona campos public function selecionaCampos($objeto) { $sql = "SELECT "; for ($i = 0; $i < count($objeto->campos_valores); $i++): $sql.= key($objeto->campos_valores); if ($i < (count($objeto->campos_valores) - 1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .= " FROM " . $objeto->tabela; if ($objeto->extras_select != NULL): $sql .= " " . $objeto->extras_select; endif; return $this->executaSQL($sql); } //Fim selecionaCampos //Rotina de inserção de SQL public function executaSQL($sql = NULL) { if ($sql != NULL): $query = mysql_query($sql) or $this->trataerro(__FILE__, __FUNCTION__); $this->linhasafetadas = mysql_affected_rows($this->conexao); if (substr(trim(strtolower($sql)), 0, 6) == 'select'): $this->dataset = $query; return $query; else: return $this->linhasafetadas; endif; else: $this->trataerro(__FILE__, __FUNCTION__, 'Comando SQL nao informado na rotina', FALSE); endif; } // fim executaSQL //RetornaSQL dados public function retornaDados($tipo = NULL) { switch (strtolower($tipo)): case "array": return mysql_fetch_array($this->dataset); break; case "assoc": return mysql_fetch_assoc($this->dataset); break; case "object": return mysql_fetch_object($this->dataset); break; default: return mysql_fetch_object($this->dataset); break; endswitch; } //Fim retornaDados public function trataerro($arquivo = NULL, $rotina = NULL, $numerro = NULL, $msgerro = NULL, $geraexcept = FALSE) { if ($arquivo == NULL) $arquivo = "nao informado"; if ($rotina == NULL) $rotina = "nao informada"; if ($numerro == NULL) $numerro = mysql_errno($this->conexao); if ($msgerro == NULL) $msgerro = mysql_error($this->conexao); $resultado = 'Ocorreu um erro com os seguintes detalhes:<br /> <strong>Arquivo:</strong> ' . $arquivo . '<br /> <strong>Rotina:</strong> ' . $rotina . '<br /> <strong>Codigo:</strong> ' . $numerro . '<br /> <strong>Mensagem:</strong> ' . $msgerro; if ($geraexcept == FALSE): echo($resultado); else: die($resultado); endif; } //tratamento } //Fim classe banco ?> A classe base: <?php require_once("banco.class.php"); abstract class base extends banco { //Propriedades public $tabela = ""; public $campos_valores = array(); public $campopk = NULL; //pk primary key ou chave primaria public $valorpk = NULL; public $extras_select = ""; //metodos //Adicionar campo na tabela public function addCampo($campo = NULL, $valor = NULL) { if ($campo != NULL): $this->campos_valores[$campo] = $valor; //$valor que for passado endif; } //fim addCampo //Deleta campo public function delCampo($campo = NULL) { if (array_key_exists($campo, $this->campos_valores)): unset($this->campos_valores[$campo]); endif; } //fim delCampo. //Seta valor public function setValor($campo = NULL, $valor = NULL) { if ($campo != NULL && $valor != NULL): $this->campos_valores[$campo] = $valor; endif; } //fim setvalor //getValor public function getValor($campo = NULL) { if ($campo != NULL && array_key_exists($campo, $this->campos_valores)): return $this->campos_valores[$campo]; else: return FALSE; endif; } // fim getvalor } //fim classe base. ?> E a classe cliente, ou qualquer outra classe: <?php require_once("base.class.php"); class clientes extends base { //Contruct public function __construct($campos = array()) { parent::__construct(); $this->tabela = "clientes"; if (sizeof($campos) <= 0): $this->campos_valores = array( "nome" => NULL, "sobrenome" => NULL, ); else: $this->campos_valores = $campos; endif; $this->campopk = "id"; } //construct } //fim classe clientes. ?> Nesse caso é só fazer as devidas alterações e o CRUD fica funcional, teria como fazer com PDO de forma mais simplificada ?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.