Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renan.miranda

Passar parâmetro através de uma classe para arquivo principal

Recommended Posts

Saudações,

 

Eu tenho um arquivo Categoria.class.php:

public function cadCategoria() {
        //R::debug();
        $categoria = $this->getCategoria();
        $verificar = R::find('tbcategoria', ' cat_nome LIKE ? ', ["%$categoria%"]);
        $contar = sizeof($verificar);

        if ($contar == 0) {
            $categoria = R::dispense('tbcategoria');
            $categoria->cat_nome = $this->getCategoria();
            R::store($categoria);
            echo 'Passar Parametro de OK';
        } else {
            echo 'Não passar parametro';
        }
    }

E um arquivo index.php chamando essa classe... a mesma está funcionando perfeitamente, realizando os registros quando não é encontrado... só que eu gostaria de passar um parâmetro qualquer para o index.php para que determinada função seja executada. Exemplo:

<?php
  if (isset($parametro)){ //--> aqui ele identificaria o parâmetro e executaria essa div
?>
<div class="alert alert-danger alert-dismissible" role="alert" style="margin: 10px">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"></button>
<strong>Erro!</strong> Categoria já existente.
</div>
?>

Existe uma forma mais correta de se realizar essa táfera?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá bom dia, você pode acessar assim:

 

Página da classe assim:

public $parametro;
public function cadCategoria() {
        //R::debug();
        $categoria = $this->getCategoria();
        $verificar = R::find('tbcategoria', ' cat_nome LIKE ? ', ["%$categoria%"]);
        $contar = sizeof($verificar);

        if ($contar == 0) {
            $categoria = R::dispense('tbcategoria');
            $categoria->cat_nome = $this->getCategoria();
            R::store($categoria);
            $this->parametro = true;
        } else {
            $this->parametro = false;
        }
    }

Página index assim:

<?php
$class = new NomedaClass;
$parametro = $class->parametro;
  if (isset($parametro)){ //--> aqui ele identificaria o parâmetro e executaria essa div
?>
<div class="alert alert-danger alert-dismissible" role="alert" style="margin: 10px">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"></button>
<strong>Erro!</strong> Categoria já existente.
</div>
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renan, recomendo você usar uma engine de templates para não misturar a camada de lógica com a camada de visualização, pode ser smarty ou twig, você escolhe, só isso ja iria melhorar muito teu código.

Em relação ao seu problema, recomendo você usar essa biblioteca: https://github.com/plasticbrain/PHP-Flash-Messages

Com isso teu código ficaria mais semântico, orientado a objetos e com menos if else.

mas caso você queira o caminho mais rápido, a solução que o rodribeze propôs também resolve teu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.