Você está aqui: PHP ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados object da linguagem PHPQuantidade de visualizações: 7725 vezes |
O PHP, especialmente a partir da versão 5.0, suporta a programação orientada a objetos (OOP). A programação OOP promove um design modular limpo, simplifica a depuração e manutenção e facilita a reutilização de códigos. As classes são os pontos cruciais de um design orientado a objetos. Uma classe é uma definição de uma estrutura que contém propriedades (variáveis) e métodos (funções). Classes são definidas com a palavra-chave class: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- class Pessoa{ public $nome = ''; function nome($novo_nome = NULL){ if(!is_null($novo_nome)){ $this->nome = $novo_nome; } return $this->nome; } } Uma vez que uma classe é definida, qualquer número de objetos podem ser construídos a partir dela por meio do uso da palavra-chave new, e as propriedades e métodos do objeto podem ser acessadas com a construção ->. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- $pessoa = new Pessoa; $pessoa->nome('Osmar J. Silva'); printf("Olá, %s<br>", $pessoa->nome); Se quisermos saber se uma variável é do tipo object, podemos usar a função is_object(). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? class Pessoa{ public $nome = ''; function nome($novo_nome = NULL){ if(!is_null($novo_nome)){ $this->nome = $novo_nome; } return $this->nome; } } $pessoa = new Pessoa; if(is_object($pessoa)){ echo 'A variável $pessoa é do tipo object.'; } ?> Ao executarmos este código PHP nós teremos o seguinte resultado: A variável $pessoa é do tipo object. |
Link para compartilhar na Internet ou com seus amigos: |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHPQuantidade de visualizações: 8436 vezes |
Em algumas situações precisamos fornecer um objeto de uma classe para um método de outra classe ou mesmo uma simples função PHP. Nesta dica eu mostro como isso pode ser feito. Note que, ao receber o objeto da classe no método ou função, todas as alterações feitas no objeto serão refletidas no objeto original, ou seja, objetos de classe são automaticamente passados por referência em PHP. Eis o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php // classe Cliente com duas variáveis privadas e seus // correspondentes métodos mutatórios e acessórios class Cliente{ private $nome; private $email; public function setNome($nome){ $this->nome = $nome; } public function getNome(){ return $this->nome; } public function setEmail($email){ $this->email = $email; } public function getEmail(){ return $this->email; } } // vamos criar um novo objeto da classe Cliente $c = new Cliente; $c->setNome("Osmar J. Silva"); $c->setEmail("osmar@arquivodecodigos.com.br"); // vamos agora passar este objeto para uma função PHP imprimirCliente($c); // e aqui está a função que recebe o objeto da classe Cliente // e exibe o valor de suas variáveis function imprimirCliente($cliente){ echo "Nome: " . $cliente->getNome() . "<br> E-Mail: " . $cliente->getEmail(); } ?> Ao executar este código teremos o seguinte resultado: Nome: Osmar J. Silva E-Mail: osmar@arquivodecodigos.com.br |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Arquivos e diretórios em PHP - Como montar uma árvore de arquivos e diretórios recursivamenteQuantidade de visualizações: 16181 vezes |
Este exemplo mostra como listar todo o conteúdo de um diretório recursivamente em forma de árvore. Note que usei um objeto da classe RecursiveDirectoryIterator da linguagem PHP para facilitar nosso trabalho. Veja o código 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 // nome e local do diretório $dir = $_SERVER["DOCUMENT_ROOT"] . "/escola/app"; // função recursiva que lista o diretório atual function montarArvore($it){ echo '<ul>'; for(; $it->valid(); $it->next()){ if($it->isDir() && !$it->isDot()) { printf('<li>%s</li>', $it->current()); if($it->hasChildren()) { $filho = $it->getChildren(); echo '<ul>' . montarArvore($filho) . '</ul>'; } } elseif($it->isFile()) { echo '<li>'. $it->current() . '</li>'; } } echo '</ul>'; } // faz a primeira chamada à função recursiva montarArvore(new RecursiveDirectoryIterator($dir)); ?> </body> </html> |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como usar as funções strpos() e stripos() do PHP para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma stringQuantidade de visualizações: 3052 vezes |
Em algumas situações percebemos que uma substring aparece mais de uma vez em uma string e gostaríamos de obter mais informações sobre tais ocorrências. No trecho de código abaixo eu mostro como usar as funções strpos() e stripos() para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma string:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php $frase = "PHP? Gosto muito de PHP e Java. Mas prefiro PHP e Delphi"; $palavra = "PHP"; // primeiro vamos verificar se a palavra está contida na frase if(strpos($frase, $palavra) !== false){ // agora vamos obter as posições de todas as ocorrências $posicoes = array(); $offset = 0; $posicao = -1; while($offset < strlen($frase)){ $posicao = strpos($frase, $palavra, $offset); if($posicao !== false){ $posicoes[] = $posicao; $offset = $posicao + strlen($palavra); } else{ $offset++; } } // percorre a matriz de posições e informa o usuário echo "A palavra foi encontrada nas posições: "; for($i = 0; $i < count($posicoes); $i++){ echo $posicoes[$i] . ", "; } } else{ echo "A palavra não está contida na string"; } ?> Ao executarmos este código nós teremos o seguinte resultado: A palavra foi encontrada nas posições: 0, 20, 44, Note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos(). |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de águas pluviais Os condutos horizontais constituem a última porção a ser dimensionada nos sistemas de drenagem residenciais. Julgue as afirmações a seguir acerca dessa fração do sistema: I. Esses tubos devem ser conectados a montante com os tubos verticais que saem das calhas, tendo caixas de inspeção no caso de mudança de direção. II. Pela prática construtiva, as águas captadas pela calha e, nesse trecho final, são ligadas ao emissário do esgoto residencial, onde serão ligadas à rede pública. III. Uma vez que há o risco de entupimento, uma declividade mínima de 0,5% é prevista por norma, cabendo ao projetista verificar se esta é suficiente para a demanda da rede. IV. Embora seja uma solução pouco econômica, quanto maior é a declividade, melhor é o desempenho da rede, uma vez esse aumento não acarretará danos ao sistema. Assinale a alternativa correta. A) I e III são verdadeiras. B) II e III são verdadeiras. C) II e IV são verdadeiras. D) III e IV são verdadeiras. E) II, III e IV são verdadeiras. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptvar palavra = 'b' + 'a' + + 'a' + 'a'; palavra = palavra.toLowerCase(); document.write(palavra); Qual é o resultado de sua execução? A) baaa. B) banana. C) anana. D) bananas. E) Um erro de execução. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Serviços preliminares e instalações provisórias Precisa-se produzir 600.000 m3 de concreto para a construção de uma barragem no prazo de 3 (três) anos. Para isso, as centrais de concreto deverão produzir durante 2.676,63 h/ano. A alternativa que especifica a capacidade da central de concreto que deverá ser utilizada na obra é (caso não encontre valor igual à capacidade disponível no mercado, considere a de valor imediatamente superior): A) 45 m3/h. B) 30 m3/h. C) 130 m3/h. D) 100 m3/h. E) 80 m3/h. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javapublic class Estudos { public static void main(String[] args) { int a = 3; System.out.println(++a * 8); } } Qual é o resultado de sua execução? A) 24 B) 32 C) 72 D) 25 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Alvenaria: Técnicas construtivas A elevação de paredes em alvenaria deve: A) Iniciar no meio do vão em direção aos cantos. B) Iniciar do lado direito para o lado esquerdo. C) Iniciar do lado esquerdo para o lado direito. D) Iniciar dos cantos, ou junto ao pilares, em direção ao centro. E) Iniciar pelos cantos, em toda a altura do pé-direito, e depois seguir em direção ao centro. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
Java - Como adicionar ou subtrair dias de uma data e hora usando o método add() da classe Calendar do Java Python - Como exibir os valores de 0 a 10 em ordem decrescente usando o laço for da linguagem Python |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |