Jump to content

João Batista Neto

Administrador
  • Content count

    4795
  • Joined

  • Last visited

  • Days Won

    55

Everything posted by João Batista Neto

  1. João Batista Neto

    Erro no cadastro do Fórum

    Troquei o reCAPTCHA pelo o reCAPTCHA2, que mais simples de resolver; acredito que melhorará a experiência.
  2. João Batista Neto

    Mensagem incorreta ao realizar várias pesquisas no site

    Quanto à mensagem, já foi corrigida; quando ao tempo, são 30 segundos.
  3. João Batista Neto

    SERA CURL ?

    Se você quer o conteúdo, pode usar cUrl sim. Na documentação tem vários exemplos que podem ajudá-lo: http://php.net/manual/pt_BR/function.curl-exec.php
  4. João Batista Neto

    Atualizando Class mysql

    Btw, não estamos mais no PHP 4; não é necessário utilizar referência... $this->connection = $connection_result; //não precisa de referência aqui
  5. João Batista Neto

    Atualizando Class mysql

    Use instruções do próprio SGDB para isso: <?php $dbname = 'nome_do_banco_de_dados'; // conecta ao server sem informar o banco de dados $pdo = new PDO('mysql:host=localhost', $user, $pswd); // seleciona o banco de dados $pdo->exec("use $dbname"); Apenas tome cuidado com segurança; esse nome desse banco estiver vindo do usuário, lembre-se de filtrá-lo.
  6. João Batista Neto

    Função CRON no servidor

    29-31 15 * * 1-5 /usr/bin/php /path/para/o/arquivo.php >/dev/null 2>&1 Significa: todos os minutos de 29 até 31, à partir das 15 horas, de segunda à sexta-feira.
  7. João Batista Neto

    InterCon iMasters

    until
    Em sua 15ª edição e cada vez mais focado em desenvolvimento web de alto nível, o InterCon reunirá 1.800 developers em 3 grandes auditórios, uma maratona hacker, fablab, community spaces e diversos espaços simultâneos, se posicionando como a maior conferência dev da América Latina. Site do evento: https://eventos.imasters.com.br/intercon
  8. João Batista Neto

    Função CRON no servidor

    0 13 * * 1-5 /usr/bin/php /path/para/o/arquivo.php >/dev/null 2>&1 Significa: às 13 horas de segunda à sexta-feira. ;)
  9. João Batista Neto

    Injection no PDO é realmente impossivel?

    Repetindo: valide sempre o input e filtre sempre o output. No caso de texto informado pelo usuário, se não há validação, como é o caso de biografia e tal, sanitize a entrada e depois filtre a saída. Por exemplo: <?php //... $bio = filter_input(INPUT_POST, 'bio', FILTER_SANITIZE_STRING); if (empty($bio)) { // opz, problemas com a bio } Depois de inserido, filtre o valor antes de exibi-lo: <?php //... echo filter_var($bio, FILTER_SANITIZE_SPECIAL_CHARS); ;)
  10. João Batista Neto

    Dias da semana (contando os que já passaram)

    O dia da semana atual você pega com date('w'); aí é só subtrair: <?php $weekday = date('w'); $firstDayOfWeek = strtotime(sprintf('-%ddays', $weekday)); Aí é sabido que que 1 dia tem 86400 segundos e que a semana inteira tem 7 dias; com isso conseguimos fazer: for ($day = $firstDayOfWeek, $lastDayOfWeek = $firstDayOfWeek + (7*86400); $day < $lastDayOfWeek; $day += 86400) { printf("%s\n", date('d/m/Y',$day)); } Com isso sua saída será mais ou menos assim: 03-09-2017 04-09-2017 05-09-2017 06-09-2017 07-09-2017 08-09-2017 09-09-2017 Ou você pode ser preguiçoso e fazer tudo duma vez só: <?php $daysOfWeek = array_map(function($t) { return sprintf("%s\n", date('d/m/Y', $t)); }, range($firstDayOfWeek, $firstDayOfWeek + (7*86400), 86400));
  11. João Batista Neto

    Injection no PDO é realmente impossivel?

    Veja, não importa se você está utilizando PDO, MySQLi ou o que seja; independentemente da tecnologia, você deve, absolutamente sempre, validar o input e filtrar o output. Isso é regra básica de segurança da informação. Então se o seu campo é esperado receber um número, não jogue direto no PDO; valide se o input é mesmo um número. Se o campo é esperado receber uma idade, não jogue direto no PDO; valide se é uma idade mesmo; não saia aceitando 2 anos ou 200 anos. SEMPRE valide o input e filtre o output.
  12. João Batista Neto

    RanchoDev

    until
    Um dia inteiro de troca de conhecimento, cultura e discussões sobre desenvolvimento! O #RanchoDev é uma conferência para desenvolvedores de software organizado por uma equipe da empresa Tegra – Inovação em TI, empresa 100% brasileira e em franco crescimento com sedes em Sorocaba, São Paulo e Rio de Janeiro. O evento também conta com colaboradores voluntários e patrocinadores focados no fomento da tecnologia no interior paulista. http://www.ranchodev.com.br/
  13. João Batista Neto

    1.4.1 Métodos de Interface e Polimorfismo

    Da última vez, falamos sobre visibilidade e sobre como conseguimos ocultar informações utilizando os modificadores de visibilidade private e protected e assim, encapsular a lógica por trás de uma operação, falamos também que utilizamos a visibilidade public para os métodos que desejamos permitir que sejam acessados em nossos objetos e que esses métodos públicos chamam-se, na verdade, métodos de interface. Quando eu disse que o encapsulamento era um dos aspectos mais importante era porque a interface de um objeto é definitivamente o aspecto mais importante em orientação a objetos. Mas, se interface é o aspecto mais importante, precisamos definir interface, então, o que é interface ? Tradução livre: (ciências da computação) um programa que controla uma exibição para o usuário (normalmente em um monitor) e que permite que o usuário interaja com o sistema Perceba duas palavras chaves na tradução: 1. exibição o que podemos ver 2. interaja o que podemos trabalhar com Então, interface é aquilo que podemos ver e trabalhar com, em orientação a objetos é exatamente a mesma coisa, métodos de interface são os métodos que podemos ver e trabalhar com, ou seja, por definição todo método público é um método de interface. O fato, senhores, é que nossos objetos não saberiam como trabalhar uns com os outros se não fossem os métodos de interface. Até agora, falamos apenas como construir um objeto e como esconder sua lógica, porém, agora passaremos, enfim, a falar sobre programação orientada a objetos. Já sabemos que herança de classe serve para compartilhar código entre seus herdeiros, agora passaremos a falar sobre tipos de objetos, vejam só: "Atirei o pau no gato-to, mais o gato-to não moreu-reu-reu....." Um pouco de português: Atirei verbo bi-transitivo, quem atira atira alguma coisa em alguém. No caso, o sujeito oculto sou eu, eu atirei o pau no gao. pau substantivo, objeto direto pedido pelo verbo. gato substantivo, objeto indireto, pedido pelo verbo. Ok, hehehehe, temos 3 participantes: o pau, o gato e eu class Pau { } class Gato { public function acerta( Pau $pau ) { echo 'Miiiaaaaaauuuuuuuuuuuuu !!!!!'; } } class Eu { public function atira( Pau $pau , Gato $gato ) { $gato->acerta( $pau ); } } $gato = new Gato(); $pau = new Pau(); $eu = new Eu(); $eu->atira( $pau , $gato ); A saída será: Atenção sociedade protetora dos animais, eu não faço esse tipo de coisa, foi meramente ilustrativo. Bom, se os senhores prestarem atenção nas classes Eu e Gato, perceberão que existem um método atira() que recebe dois parâmetros, um Pau e o Gato. Percebam que essa implementação é muito dura e não conseguimos reproduzir a parte gramatical da coisa: "Quem atira, atira alguma coisa em alguém", porque Eu atira só e somente só um Pau no Gato, se precisarmos atirar Pedras ou qualquer outro tipo de objeto em Cães, Pássaros, ou qualquer outra coisa não será possível. Para que consigamos atirar qualquer coisa em qualquer outra coisa, precisamos focar nos métodos de interface apenas, vejamos: O gato possui um método de interface chamado acerta(), se transformarmos esse método em um contrato, onde qualquer classe que assine esse contrato precise necessariamente tê-lo, conseguiremos jogar alguma coisa em qualquer coisa que possua esse método: interface Alvo { public function acerta( Pau $pau ); } Ai está, como podem ver, a construção de linguagem interface não implementa nada, ela é só um contrato que estipula um conjunto de operações que nossos objetos deverão ter, operações as quais nossos objetos poderão ver e trabalhar com. Com a interface Alvo, podemos jogar Paus em gatos, cachorros, pessoas, paredes, enfim, qualquer coisa pode ser um alvo: class Gato implements Alvo { public function acerta( Pau $pau ) { echo 'Miiiaaaaaauuuuuuuuuuuuu !!!!!'; } } class Cao implements Alvo { public function acerta( Pau $pau ) { echo 'Aaaaauuuuuuuuuuu !!!!!'; } } class Parede implements Alvo { public function acerta( Pau $pau ) { echo 'plof !!!!!'; } } Mas, ainda temos um problema com nossa questão gramatical, só conseguimos jogar Paus, e se quisermos jogar pedras ???? Você pode estar pensando: "Mas o Pau não tem métodos de interface" O fato, é que não precisamos necessariamente de um método de interface para definir o Tipo de um objeto: interface Projetil { } E dessa forma: class Pau implements Projetil { } class Pedra implements Projetil { } class Sapato implements Projetil { } E agora nosso Alvo ficaria assim: interface Alvo { public function acerta( Projetil $projetil ); } E nossas implementações: class Gato implements Alvo { public function acerta( Projetil $projetil ) { echo 'Miiiaaaaaauuuuuuuuuuuuu !!!!!'; } } class Cao implements Alvo { public function acerta( Projetil $projetil ) { echo 'Aaaaauuuuuuuuuuu !!!!!'; } } class Parede implements Alvo { public function acerta( Projetil $projetil ) { echo 'plof !!!!!'; } } Agora, podemos jogar várias coisas em várias outras coisas: $gato = new Gato(); $cao = new Cao(); $parede = new Parede(); $pau = new Pau(); $pedra = new Pedra(); $sapato = new Sapato(); $eu = new Eu(); $eu->atira( $pau , $gato ); $eu->atira( $sapato , $cao ); $eu->atira( $pedra , $parede ); A saída: Bom, como o assunto é muito extenso e ainda falta muito, vamos parar por aqui hoje. No próximo artigo da série PHP Orientado a Objetos continuaremos falando sobre métodos de interface e polimorfismo. Índice
  14. João Batista Neto

    SEO - Google url direta

    Removi o link para evitar indexação e relacionamento do site com esse post. Basicamente, você precisa ajustar toda a organização do documento; sua página não tem conteúdo, não hierarquia nos cabeçalhos da marcação, não tem nada; você tem um trabalho inteiro para fazer aí. Utilize uma ferramenta online de análise de SEO; diversos insights serão exibidos e você poderá trabalhar pontualmente, um a um, até ter resolvido todos os problemas.
  15. João Batista Neto

    SEO - Google url direta

    Velho, isso é o título da página; se você tem a página /icamento, com um título descritivo e um conteúdo relevante para o termo buscado, é apenas questão de tempo até que seja indexado. Qual o link do site em questão?
  16. João Batista Neto

    É possivel mesclar duas contas do fórum imasters?

    Está feito.
  17. João Batista Neto

    É possivel mesclar duas contas do fórum imasters?

    Precisamos do link do outro perfil e, em especial, precisamos saber qual é a conta que você quer que fique.
  18. João Batista Neto

    Opencart - 1 Produto vários volumes no frete

    Isso chama-se dropship: https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=8756
  19. João Batista Neto

    .Bolao iMasters - DISCUSSOES

  20. João Batista Neto

    Tamanho do Sql Server 2008 - Vai travar?

    Veja: Increase the Size of a Database
  21. João Batista Neto

    Como hospedar o site no próprio PC

    O computador do seu amigo precisará ter um IP fixo. Aí é só você registrar o domínio e apontar para o IP do computador. Existem vários sites especializados em venda de domínio.com; você precisará pesquisar e escolher um; por exemplo: https://br.godaddy.com/tlds/com-domain
  22. João Batista Neto

    Problema com hierarquia de pastas no MVC

    Isso é irrelevante, @Pellegrini2106. As PSR são padrões definidos pela comunidade; apenas siga-as, independentemente de gostar ou não de framework
  23. João Batista Neto

    Problema com hierarquia de pastas no MVC

    #ficadica: http://www.php-fig.org/psr/psr-4/
  24. João Batista Neto

    Retorno Soap XML

    Tá errado; chegou a ler o link com a documentação que te passei? $domNodeList = $dom->getElementsByTagName('TITULO'); //você tem que pegar o nome da tag for ($i = 0, $t = $domNodeList->length; $i < $t; ++$i) { $titulo = $domNodeList->item($i); //aqui você tem um título individual $num = $titulo->getElementsByTagName('E1_NUM')->item(0); //aqui você tem o E1_NUM do título atual $emissao = $titulo->getElementsByTagName('E1_EMISSAO')->item(0); //aqui você tem o E1_EMISSAO do título atual // ... }
  25. João Batista Neto

    [Resolvido] Gerador numérico para formulário

    Como sugestão, apenas para diminuir o tamanho desse número, a função time() do PHP retorna o número de segundos desde a meia noite de 1 de Janeiro de 1970 - o chamado Unix time. Se você transportar o Unix time para um @inezboldrin time, você pode considerar o número de segundos desde a meia noite de primeiro de Janeiro de 2017. Assim: <input type="text" value="<?= time() - 1483228800?>"> O número 1483228800 é exatamente o número de segundos desde 01-01-1970 00:00:00.00 UTC até 01-01-2017 00:00:00.00 UTC. O resultado seria algo como 3782007.
×

Important Information

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