Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

MVC com PHP - Inicio

Olá,

Estou com uma dúvida, no começo é apresentada uma estrutura de rotas usando o switch case, eu tenho uma home.php criada mas eu gostaria que ela carregasse igual as outras páginas de forma amigável, ou seja, ao digitar o localhosot:8080/ ele carregasse, como eu faria isso? obrigado!

6 respostas

Olá Rafael!

Nesse cenário você tem duas alternativas, se você não tiver nesse pagina home nenhuma logica, se ela não executa nenhuma ação como salvar, editar, ou outras, você poderia simples adicionar um novo case dentro do switch que já está implementado, com o require para a home.php:

case '/':
    require 'home.php';
    break;

Assim, quando o usuário acessar localhosot:8080/ ele vai visualizar a página home. Quanto a localização dentro dos cases já existentes, seria interessante colocar a case home antes das demais!

Espero ter ajudado!

Olá Jonilson, obrigado por responder, então neste caso eu fiz exatamente isso que você sugeriu, e retornou o seguinte erro: Notice: Undefined index: PATH_INFO e ele só carrega caso eu digite home.php.

Rafael, acho que pode ser porque podemos ter duas URI, a URI '/' e a URI vazia '' para contornar isso podemos fazer assim, colocar dois case, um para cada caso, você pode colocar em de:

case '/':
    require 'home.php';
    break;

Podemos colocar assim:

case '/':
    require 'home.php';
    break;
case '':
    require 'home.php';
    break;

Dessa forma se a URI vinher vazia, também vamos exibir a página home.php. Tenta dessa forma Rafael!

É dessa forma funcionou, carregou a página pelo menos, porém o erro continua, só que em vez de ser exibido diretamente, está aparecendo só no console do desenvolvedor.

solução!

Olá Rafael! Vou explicar porque você consegue exibir a pagina porém ainda existe o erro no console do desenvolvedor, e só percebi isso agora, que você falou novamente que o erro persiste, o problema é que estamos usando PATH_INFO, e não temos informações para gerar o PATH_INFO, no caso o caminho, porque simplesmente, o PATH, que é o que vem depois de localhosot:8080, porém não temos nada depois, assim não geramos o PATH, portando, a nossa condição case '' (case vazia), consegue entender que o PATH está vazio, porém o PHP ainda vai nos retornar um erro informando que não temos o PATH. Para contornar esse erro teríamos que usar outra variável diferente dessa que o professor mostrou na aula, nesse caso poderia ser a REQUEST_URI, porém essa variável trás outras informações adicionais.

Espero ter esclarecido o porque de ainda está retornando o erro!

Entendi sim Jonilson, muito obrigado! com essa sugestão que você deu funcionou e não está dando mais o erro :) .