Você está aqui: PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Entendendo o conceito de encapsulamento (encapsulation) em PHPQuantidade de visualizações: 10150 vezes |
Encapsulamento é a técnica de transformar os objetos que compõem uma aplicação em verdadeiras caixas-pretas. De fato, se pensarmos em termos de informática, é possível para um usuário comum usar todas as funcionalidades de uma impressora sem nem mesmo entender seu funcionamento interno. Imagine o desastre que seria se todos os usuários resolvessem abrir suas impressoras para investigar o que há dentro delas. Da mesma forma, ao contruir uma classe, devemos fazê-lo de forma que o usuário desta classe tenha acesso apenas aos métodos que permitem ler informações da classe ou fornecer os dados necessários para sua correta operação. Dados relativos ao funcionamento interno da classe devem permanecer ocultos e acessíveis somente aos métodos da própria classe. O encapsulamento deve ser aplicado de forma a permitir que alterações na estrutura interna de uma classe não prejudique o funcionamento do código externo que a usa. Veja um exemplo: <? class Pedido{ public function obter_produtos(){ // monta uma lista de produtos // pertecentes a este pedido return $lista_produtos; } } ?> |
![]() |
PHP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Apostila PHP para iniciantes - Como usar constantes na linguagem PHPQuantidade de visualizações: 12022 vezes |
Como acontece na maioria das linguagens de programação, o PHP também permite o uso de constantes. Como o próprio nome diz, constantes são inicializadas uma vez e não podem ter seus valores alterados durante a execução do programa. A definição de constantes em PHP segue as mesmas regras de nomeação de variáveis, com a exceção de que constantes não possuem o símbolo $ e são geralmente escritas em letras maiúsculas. Diferente de variáveis, constantes, uma vez definidas, são acessadas globalmente. Não há a necessidade de redeclará-las em cada nova função ou arquivo. A síntaxe de definição de uma constante é: define("CONSTANT_NAME", value [, case_sensitivity]) onde: a) CONSTANT_NAME é o nome da constante; b) value é o valor atribuído à constante. Não é possível atribuir arrays nem objetos à constantes; c) case_sensitivity permite definir se o nome da constante será tratado igualmente se referenciado usando letras maiúsculas ou minúsculas. O valor padrão é true, o que quer dizer que "VALOR" e "Valor" serão tratados como uma única constante. REVISÃO: Revisando este código no PHP 8 eu percebi que o terceiro argumento (case_sensitivity) não é mais suportado, e gera um aviso do tipo: Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported in... Veja um exemplo de declaração e uso de constantes em PHP: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // declara uma constante com o nome MODO e valor 2 define("MODO", 2); echo "O valor definido é: " . MODO; ?> Veja agora o que acontece quando tentamos modificar o valor de uma variável do tipo constante: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // declara uma constante com o nome MODO e valor 2 define("MODO", 2); // vamos tentar alterar o valor da constante MODO = 10; ?> Este código gera a seguinte mensagem de erro: Parse error: syntax error, unexpected token "=" in... |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como obter parte de uma string usando a função substr() da linguagem PHPQuantidade de visualizações: 75 vezes |
Nesta dica eu mostrarei como podemos usar a função substr() do PHP para obter uma substring a partir de uma string, ou seja, parte de uma palavra, frase ou texto. Esta técnica é muito útil em aplicações PHP que efetuam manipulação de texto. A função substr() possui três parâmetros: substr(string, início, comprimento) Veja um código completo demonstrando seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <html> <head> <title>Estudos PHP</title> </head> <body> <?php $frase = "Gosto muito de programar em PHP."; // vamos obter uma parte dessa frase. $parte = substr($frase, 6, 5); // mostra o resultado echo $frase . "<br>"; echo "Parte obtida: " . $parte; ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Gosto muito de programar em PHP. Parte obtida: muito |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como obter o tamanho de um arquivo em PHP usando a função filesize()Quantidade de visualizações: 12707 vezes |
O tamanho de um arquivo pode ser obtido em PHP usando-se a função filesize(). Esta função recebe o caminho e nome do arquivo e retorna seu tamanho em bytes. Lembre-se de que um Kb contém 1024 bytes, caso você queira trabalhar com Kb em vez de bytes. Veja um exemplo de uso da função filesize(): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php $arquivo = "testes.txt"; echo "O tamanho do arquivo é: " . filesize($arquivo) . " bytes"; ?> Ao executar este código PHP nós teremos o seguinte resultado: O tamanho do arquivo é: 940 bytes |
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: 16297 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 para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <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 ::: PHP + MySQL ::: MySQL Improved Extension (mysqli) |
Código completo: Como listar os campos de uma tabela MySQL, seus tipos de dados e detalhes adicionais - O comando DML SHOW FULL COLUMNS FROM - RevisadoQuantidade de visualizações: 11958 vezes |
O comando DML do MySQL (e MariaDB) SHOW FULL COLUMNS FROM [nome_tabela] é usado quando queremos obter informações sobre os campos de uma determinada tabela. Entre essas informações temos Field (nome do campo), Type (tipo de dados), Collation (o conjunto de caracteres usado), Null (se o campo aceita nulo ou não), Key (se é uma chave e o tipo da chave), Default (o valor padrão), Extra (informação extra, tal como auto-incremento), Privileges (privilégio do usuário logado) e Comment (comentário). Veja um trecho de código PHP no qual nos conectamos a uma base de dados MySQL usando a extensão mysqli e obtemos as informações dos campos de uma tabela chamada "usuarios". Note como o resultado é exibido em uma tabela HTML. Veja o código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // vamos efetuar a conexão com o banco $con = new mysqli("localhost", "root", "osmar1234", "estudos"); // conexão efetuada com sucesso? if($con->connect_errno){ echo "Não foi possível efetuar a conexão: " . $mysqli->connect_error; exit(); // vamos sair daqui } // obtém os nomes dos campos da tabela, seus tipos e // detalhes adicionais $query = mysqli_query($con, "SHOW FULL COLUMNS FROM usuarios"); // títulos da tabela HTML $titulos = array('Campo', 'Tipo', 'Collation', 'Null', 'Chave', 'Padrão', 'Extra'); echo '<table border="1"><tr>'; for($i = 0; $i < count($titulos); $i++){ echo '<td>' . $titulos[$i] . '</td>'; } echo '</tr>'; while($result = mysqli_fetch_array($query)){ echo '<tr>'; for($i = 0; $i < count($titulos); $i++){ echo '<td>' . $result[$i] . ' </td>'; } echo '</tr>'; } echo '</table>'; mysqli_close($con); // fecha a conexão ?> Esta dica foi revisada, atualizada e testada com o PHP 8. |
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: 8501 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 para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?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 ::: PHP + MySQL ::: MySQL (mysql) |
Como criar uma tabela MySQL usando o comando CREATE TABLE e as funções mysql_query() e mysqli_query() do PHPQuantidade de visualizações: 22278 vezes |
Nesta dica mostrarei como podemos usar a função mysqli_query() do PHP para disparar uma instrução SQL CREATE TABLE para criar uma nova tabela na base de dados MySQL. Esta dica foi atualizada. Removi a função mysql_query(), já que esta não funciona mais nas versões atuais do PHP. Em seu lugar eu coloquei mysqli_query() e ajustei o código. Note que inclui neste exemplo o código para efetuar a conexão PHP + MySQL usando a função mysqli_connect(). Novamente vale lembrar que removi a função mysql_connect() e deixei apenas a versão mais atual. Se você pretende escrever seu primeiro CRUD PHP + MySQL, este é o exemplo ideal para você começar. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // vamos efetuar a conexao com o banco $servidor = "localhost"; $usuario = "root"; $senha = "osmar1234"; $base_dados = "estudos"; $conexao = mysqli_connect($servidor, $usuario, $senha, $base_dados); // Comando SQL para criar a tabela $sql = "CREATE TABLE my2_usuarios( id int(11) NOT NULL auto_increment, usuario varchar(50), senha varchar(10), data_cadastro datetime, PRIMARY KEY(id) )"; // Executa o comando SQL $result = mysqli_query($conexao, $sql); // Verifica se o comando foi executado com sucesso if(!$result){ die("Falha ao executar o comando: " . mysqli_error($conexao)); } else{ echo "Comando executado com sucesso."; } // fecha a conexão mysqli_close($conexao); ?> |
PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em PHP dados dois pontos pertencentes à retaQuantidade de visualizações: 901 vezes |
Nesta dica de PHP veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: ![]() Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código PHP completo para esta tarefa: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // para executar abra uma janela de comando // cmd e dispare o comando abaixo: // C:\xampp\php>php c:\estudos_php\estudos.php // para ler a entrada do usuário $entrada = fopen("php://stdin","r"); // vamos ler as coordenadas do primeiro ponto echo "Coordenada x do primeiro ponto: "; $x1 = fgets($entrada); echo "Coordenada y do primeiro ponto: "; $y1 = fgets($entrada); // vamos ler as coordenadas do segundo ponto echo "Coordenada x do segundo ponto: "; $x2 = fgets($entrada); echo "Coordenada y do segundo ponto: "; $y2 = fgets($entrada); $sinal = "+"; // vamos calcular o coeficiente angular da reta $m = ($y2 - $y1) / ($x2 - $x1); // vamos calcular o coeficiente linear $n = $y1 - ($m * $x1); // coeficiente linear menor que zero? O sinal será negativo if ($n < 0){ $sinal = "-"; $n = $n * -1; } // mostra a equação reduzida da reta echo "Equação reduzida: y = " . $m . "x" . " " . $sinal . " " . $n; ?> Ao executar este código PHP nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
JavaScript - Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizada |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |