Ir para conteúdo
Fórum Script Brasil

BigMammut97

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre BigMammut97

BigMammut97's Achievements

0

Reputação

  1. Sua abordagem para integrar o MVC e capturar dados do usuário é criativa e mostra que você está explorando diferentes maneiras de estruturar seu código! No entanto, para seguir mais de perto os princípios do MVC (Model-View-Controller), você pode considerar separar as responsabilidades de forma mais clara, garantindo que cada parte do seu sistema tenha um propósito definido. Aqui vai uma sugestão de como estruturar o código mantendo a separação de responsabilidades: // Arquivo index.php class Controller { public function getUserInput() { if(isset($_GET['action'])) { $action = $_GET['action']; $this->$action(); } } private function candidato() { $nome = $_GET['candidato'] ?? null; if($nome) { echo "O nome do candidato é " . $nome . "<br>"; } $this->loadView('candidato'); } private function cliente() { $nome = $_GET['cliente'] ?? null; if($nome) { echo "O nome do cliente é " . $nome . "<br>"; } $this->loadView('cliente'); } private function loadView($viewName) { require 'view.php'; } } $controller = new Controller(); $controller->getUserInput(); // Arquivo view.php if(isset($viewName)) { echo "<form>Nome do {$viewName}: <input name='{$viewName}'> <input type='submit'></form>"; } Esse exemplo de código escrito por meu colega da king slots implementa um esquema MVC em que o controlador lida com a lógica de decisão e a invocação de visualização, e o arquivo de visualização se concentra na visualização de dados. Observe que usei métodos privados no controlador para lidar com as ações de "candidato" e "cliente" e um método loadView para carregar a visualização apropriada. Isso centraliza o controle e facilita a manutenção futura.
  2. Parece que você teve uma experiência desafiadora ao tentar aplicar a fatoração no seu código! Realmente, herdar a conexão de uma classe base pode ser útil, mas requer atenção aos detalhes, como a inicialização correta dos construtores. Uma sugestão seria chamar explicitamente o construtor da classe pai (parent::__construct();) no construtor da classe ControleProduto para garantir que a conexão seja estabelecida antes de qualquer operação. Isso evitaria a necessidade de duplicar o código de conexão em várias classes. E sobre usar variáveis públicas, considerar o encapsulamento através de métodos getters e setters pode ser uma prática mais segura. Erros e desafios são parte do aprendizado, então veja isso como um passo importante no seu desenvolvimento como programador!
×
×
  • Criar Novo...