Resultado de imagem para php + poo

Neste tutorial vamos mostrar como retornar dois ou mais valores através de um método (ou função) em PHP. Este recurso irá facilitar muito o desenvolvimento de sistemas POO evitando-se a necessidade da criação de vários métodos para a definição de um objeto em PHP.

POO (Programação Orientada a Objetos) é um paradigma de programação baseado no conceito de "objetos", que podem conter dados na forma de campos, também conhecidos como atributos, e códigos, na forma de procedimentos, também conhecidos como métodos. (Wikiédia)

Métodos são pequenas estruturas de programação dentro de classes que definem o comportamento dos objetos.

Modelo padrão

Podemos definir um modelo padrão para retornar duas ou mais variáveis através de um único método PHP. Para isso, vamos utilizar um array (arranjo em português) onde criaremos uma estrutura para armazenar uma coleção de elementos identificados por uma chave (índice):

public function metodo($param) {
   $dados = array (
       'var 1' => '',
       'var 2' => '',
       'var 3' => '',
       'var n' => ''
   );

   $dados['var1'] = ação 1;
   $dados['var1'] = ação 1;
   $dados['var1'] = ação 1;
   $dados['var1'] = ação 1;

   return $dados;
}

Observe no modelo acima que definimos as chaves (índices) do array $dados com os nomes das elementos (variáveis) que queremos retornar. Depois, retornamos apenas o array $dados com todos os elementos armazenados.

Exemplo de utilização

Para exemplificar melhor a utilização do modelo padrão acima, vamos criar uma estrutura simples com dois arquivos:

Abaixo, segue os códigos PHP dos arquivos do nosso exemplo:

a) Arquivo Matematica.php:

Neste arquivo nós definimos a classe Matematica e utilizamos o modelo padrão para o método calcular(). No modelo, definimos os índices do array $dados e as ações para cada elemento. Finalmente, retornamos o array $dados com todos os elementos armazenados.

<?php
class Matematica {
    public function calcular($x, $y) {
        $dados = array(
            'soma' => '',
            'subtracao' => '',
            'multiplicacao' => '',
            'divisao' => '',
            'exponenciacao' => ''
        );
        
        $dados['soma'] = $x + $y;
        $dados['subtracao'] = $x - $y;
        $dados['multiplicacao'] = $x * $y;
        
        if ($y == 0 ) {
            $dados['divisao'] = "Impossibilidade";
        } else {
            $dados['divisao'] = $x / $y;
        } 
        
        $dados['exponenciacao'] = pow($x, $y);  
        
        return $dados;
    }
 
} // end class

b) Arquivo index.php

No arquivo index.php criamos primeiro um formulário HTML para a inserção dos valores x e y. Depois, se digitados os valores para x e y, estes valores são armazenados nas variáveis $x e $y através do PHP. Em seguida, "instanciamos" o objeto Matematica e definimos os elementos de $resultado como sendo os elementos retornados pelo método calcular($x, $y), onde passamos os valores de x e y digitados para a classe Matematica. Finalmente escrevemos os valores de cada elemento do array $resultado retornado.

<h1> Matemática </h1>

<h3>Digite os valores de x e y</h3>

<form method="POST">
    Valor de x: <br />
    <input type="number" name='x' required><br /><br />
    Valor de y: <br />
    <input type="number" name='y' required>
    <br /><br />
    <input type='submit' value='Calcular'>   
</form>

<?php 
require 'Matematica.php';

if (isset($_POST['x']) && isset($_POST['y'])) {
    $x = addslashes($_POST['x']);
    $y = addslashes($_POST['y']);   
    
    $m = new Matematica();    
    $resultado = $m->calcular($x, $y);
 ?> 
<hr />
<h1>Resultados</h1>
<h2>Valores de x e y => x = <?php echo $x; ?> e y = <?php echo $y; ?></h2>

<h2>x + y = <?php echo $resultado['soma']; ?></h2>
<h2>x - y = <?php echo $resultado['subtracao']; ?></h2>
<h2>x * y = <?php echo $resultado['multiplicacao']; ?></h2>
<h2>x / y = <?php echo $resultado['divisao']; ?></h2>
<h2>x ^ y = <?php echo $resultado['exponenciacao']; ?></h2>
    
<?php
}

Veja como ficou nosso exemplo:

a) valores x = 25 e y = 5

 

b) valores x = 25 e y = 0

Documentação Oficial

1. [array()] » Função array().

2. [require] » Manual sobre PDO - require.

3. [include] » Manual sobre PDO - include.

O anúncio abaixo ajuda manter o Portal Visual Dicas

Comentários

Compartilhe:

Área do Usuário

Doações

Por favor, ajude o nosso site a se manter online :)

 Obrigado!
Angelo Luis Ferreira
angelo.alf@gmail.com

Produzido por:

Topo