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

Codigo PHP Orientado a Objetos


r1castro1

Pergunta

Olá pessoal, estou fazendo um curso de PHP OO  e estou na aula que desenvolve controllers em MVC e estou em dúvida🤔 se estou entendendo da maneira correta. Alguém poderia avaliar o meu comentário no código e me dizer se estou no caminho certo? Grato a todos!

<?php

$callController = new App\Controllers\Controller; // Está Instanciando a classe Controller?
$calledController = $callController->controller(); // Acessando o método controller() dentro da classe controller?
$controller = new $calledController(); // Por quê esta instanciando a variavel '$calledController()' com abertura e fechamento de parenteses se isso não é uma função?

$callMethod = new App\Controllers\Method; // Está Instanciando a classe Method?
$method = $callMethod->method($controller); // Esse objeto '$controller' passado por parãmetros é a variável instanciada na linha anterior ou poderia ser qualquer outro nome?

$controller->$method();

 

Editado por r1castro1
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Esse código funciona como um Router quer dizer o usuário acessa:

http://seusite.com.br/noticias/url-da-noticia-a-ser-exibida

O método controller em App\Controllers \Controller retorna qual o Controller deve ser instanciado.

Enquanto o método method() em App\Controllers \Method retorna qual o Método deve ser executado analisando o Controller.

<?php

$callController = new App\Controllers\Controller;
$calledController = $callController->controller(); // Retorna "App\Controller\Noticias", por exemplo
$controller = new $calledController(); // Intancia App\Controller\Noticias

$callMethod = new App\Controllers\Method;
$method = $callMethod->method($controller); // Retorna "exibir", por exemplo

$controller->$method(); // Executa o Método exibir() do Controller App\Controller\Noticias, exibindo a notícia que o usuário requisitou
Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...