Você está aqui: PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Testando condições usando as construções if e if...else em PHPQuantidade de visualizações: 13892 vezes |
As construções if (se) e if...else (se...do contrário) são muito populares em todas as linguagens de programação, uma vez que estas permitem testar condições e, baseado no resultado, direcionar o fluxo de execução do código. Comece observando o seguinte trecho de código: <? $valor = 10; if($valor > 5){ echo "O valor é maior que 5"; } ?> <? $valor = 10; if($valor > 15){ echo "O valor é maior que 15"; } else{ echo "O valor NÃO é maior que 15"; } ?> if($valor > 15){ É possível executar quantas instruções você quiser dentro de um bloco if ou if...else. Se apenas uma instrução for executada, o uso das chaves "{" e "}" é dispensado. |
![]() |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como obter a extensão de um arquivo em PHP usando a função pathinfo()Quantidade de visualizações: 9861 vezes |
Em algumas situações precisamos obter a extensão de um arquivo. Isso pode ser feito por meio do uso da função pathinfo(), que retorna informações sobre um arquivo, incluindo seu caminho. Para obter a extensão, só precisamos fornecer a constante PATHINFO_EXTENSION para o segundo parâmetro da função. Veja o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php // caminho e nome do arquivo que queremos obter a extensão $arquivo = "/home/xxxx/xxxx/foto.jpg"; // obtém a extensão $ext = pathinfo($arquivo, PATHINFO_EXTENSION); // exibe o resultado echo "A extensão do arquivo é: " . $ext; ?> Ao executarmos este código teremos o seguinte resultado: A extensão do arquivo é: jpg |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter o timestamp do primeiro dia do mês e ano informadosQuantidade de visualizações: 71 vezes |
Nesta dica eu mostrarei como é possível obter o timestamp do primeiro dia de um determinado mês e ano. O "Unix timestamp" contém o número de segundos entre a "Unix Epoch" (1 de janeiro de 1970, às 00:00:00 GMT) e o tempo decorrido desde então. Veja o código PHP completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php $mes = 1; // 1 = janeiro; $ano = 2021; $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano); echo "O timestamp do primeiro dia do mês e ano informado é: " . $primeiro_dia; ?> </body> </html> Ao executar este código nós teremos o seguinte resultado O timestamp do primeiro dia do mês e ano informado é: 1609455600 |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 10620 vezes |
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ } // vamos criar um novo objeto desta classe $b = new Boleto(); ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // Uma classe Boleto não-abstrata class Boleto{ // um método abstrato public abstract function imprimir($dados); } ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ } ?> A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ public function imprimir($dados){ echo "Imprimindo o boleto: " . $dados; } } // vamos criar um objeto da classe BoletoBradesco $b = new BoletoBradesco(); // vamos imprimir o boleto $b->imprimir("Dados do boleto"); ?> d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato que não deveria conter implementação public abstract function imprimir($dados){ echo "Isso vai dar um erro daqueles!"; } } ?> Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |