Ir para conteúdo
Fórum Script Brasil
  • 0

MVC: além da variável global $_SESSION


Frank K Hosaka

Pergunta

Quando eu comecei a mexer com o PHP em 2020, eu não sabia o que era variável global, a minha saída foi usar uma tabela no MySQL chamada tbsupervariavel.

Estudando o MVC em 2024, comecei a usar o $_SESSION, essa variável sobrevive até você fechar o navegador. Isso é mais do que satisfatório para o projeto.

O problema é que restaram quatro valores e que precisava ir além de uma sessão do navegador. Como o número de campos é pequeno, pensei em usar a tabela tbusuario.

Mas eu lembrei que existe mais um cantinho no PHP, é o famoso Config.php, onde é definido as constantes. Tentei alterar o valor das constantes através de um <form>, mas só foi perda de tempo. Não dá para alterar o arquivo Config.php se ele está sempre aberto, vou ter que alterar na unha.

Os meus códigos ficaram assim:

Arquivo Modelos / Config.php
<?php
if($_SERVER['SERVER_NAME']=='astudy.net')
{
  	defined('PROJETO') || define('PROJETO',$_SERVER['DOCUMENT_ROOT']);
    $dbname="Diario";
    $user="Root";
    $password="12345678";
}
else
{   
  	defined('PROJETO') || define('PROJETO',$_SERVER['DOCUMENT_ROOT'].'/Frank/');
    $dbname="diario";
    $user="root";
    $password="";
}
defined('CONTROLES') || define('CONTROLES',PROJETO.'/Controles/');
defined('MODELOS') || define('MODELO',PROJETO.'/Modelos/');
defined('VISOES') || define('VISOES',PROJETO.'/Visoes/');
defined('HOST') || define('HOST','localhost');
defined('DBNAME') || define('DBNAME',$dbname);
defined('USER') || define('USER',$user);
defined('PASSWORD') || define('PASSWORD',$password);
defined('lctoBaixaEstoque') || define('lctoBaixaEstoque',11301);
defined('lctoAcertoMais') || define('lctoAcertoMais',11658);
defined('lctoAcertoMenos') || define('lctoAcertoMenos',11659);
defined('diaAcerto') || define('diaAcerto','2024-03-31');

Arquivo Controles / Controle.php
<?php
session_start();
require_once $_SERVER['DOCUMENT_ROOT'].'/Frank/Modelos/Config.php';

class Controle
{

    public $Conexao;

    public function __construct()
    {
        $this->Conexao = new Conexao();
    }

	public function outros() 
    {
        $baixa=lctoBaixaEstoque;
        $menos=lctoAcertoMenos;
        $mais=lctoAcertoMais;
        $diaAcerto=diaAcerto;
        $valorBaixa=$this->Conexao->select("valor from tbdiario where lcto=$baixa")[0]->valor;
        $valorMenos=$this->Conexao->select("valor from tbdiario where lcto=$menos")[0]->valor;
        $valorMais=$this->Conexao->select("valor from tbdiario where lcto=$mais")[0]->valor;
        return $this->view('Outros',['baixa'=>$baixa,'valorBaixa'=>$valorBaixa,
            'menos'=>$menos,'valorMenos'=>$valorMenos,'mais'=>$mais,
            'valorMais'=>$valorMais,'diaAcerto'=>$diaAcerto]);
    }
 
Arquivo Visoes / Outros.php
<?php
include VISOES . 'Menu.php'; ?>
<script>btmenu.innerHTML='Outros'</script>
<table class="table table-sriped linha">
<tr><td><a href=?ControleEstoque.baixarestoque>Baixar Estoque</a>
<tr><td><a href=?ControleDiario.tbw>Criar tbw</a>
<tr><td><a href=?ControleEstoque.descontinuar>Descontinuar Produto</a>
<tr><td><a href=?ControleEstoque.diferencaEstoque>Diferença no Estoque</a>
<tr><td><a href=?ControleEstoque.entraproduto>Entrada de Produtos</a>
<tr><td><a href=?Controle.megasena.php>Mega-Sena</a>
<tr><td><a href=?Controle.painel>Painel SQL</a>
<tr><td>$_SESSION['apuracao']->apuracao<td>
<?php echo isset($_SESSION['apuracao']) ? $_SESSION['apuracao']->apuracao : 'Não definido';?>
<tr><td>$_SESSION['codp']<td>
<?php echo isset($_SESSION['codp']) ? $_SESSION['codp'] : 'Não definido';?>
<tr><td>$_SESSION['codprod']<td>
<?php echo isset($_SESSION['codprod']) ? $_SESSION['codprod'] : 'Não definido';?>
<tr><td>$_SESSION['criterio']<td>
<?php echo isset($_SESSION['criterio']) ? $_SESSION['criterio'] : 'Não definido';?>
<tr><td>$_SESSION['dia']<td>
<?php echo isset($_SESSION['dia']) ? $_SESSION['dia'] : 'Não definido';?>
<tr><td>$_SESSION['docto']<td>
<?php echo isset($_SESSION['docto']) ? $_SESSION['docto'] : 'Não definido';?>
<tr><td>$_SESSION['endereco']<td>
<?php echo isset($_SESSION['endereco']) ? $_SESSION['endereco'] : 'Não definido';?>
<tr><td>$_SESSION['id']<td><?=$_SESSION['id']?>
<tr><td>$_SESSION['lcto']<td>
<?php echo isset($_SESSION['lcto']) ? $_SESSION['lcto'] : 'Não definido';?>
<tr><td>$_SESSION['pessoa']<td>
<?php echo isset($_SESSION['pessoa']) ? $_SESSION['pessoa'] : 'Não definido';?>
<tr><td>Define:lctoBaixaEstoque<td><?=$baixa?><td class=text-end><?=dec($valorBaixa)?>
<tr><td>Define:lctoAcertoMais<td><?=$mais?><td class=text-end><?=dec($valorMais)?>
<tr><td>Define:lctoAcertoMenos<td><?=$menos?><td class=text-end><?=dec($valorMenos)?>
<tr><td>Define:diaAcerto<td><?=$diaAcerto?><td>

 

Captura de tela 2024-03-05 230011.png

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...