Jump to content

Pasta View .htacess


zznh

Recommended Posts

Boas,

 

Estou a criar um projeto simples em PHP para uma cadeira de Programação Web e queria organizar o meu projeto tendo por base o MVC, queria portanto ter uma pasta "View" contendo os ficheiros com html, mas isso leva-me a que não goste do meu URI, p.ex. "localhost/View/cozinha.php" e pretendia que fosse "localhost/cozinha.php"

 

Estou a pensar utilizar o .htacess para configurar uma RewriteRule para o efeito, mas não sei qual a melhor e mais correta maneira de o fazer,

A minha ideia era quando era chamado o "localhost/cozinha.php" ele carregasse o ficheiro "localhost/View/cozinha.php" mas que aparecesse "localhost/cozinha.php" no endereço, e quando por ventura fosse chamado o endereço "localhost/View/cozinha.php" aparecesse "localhost/cozinha.php" 

 

Espero me estar a fazer entender,

 

Abraço

Edited by zznh
Link to comment
Share on other sites

ola

mas quando o url é executado, a view não deve ser o primeiro elemento do sistema a ser chamado.

os controladores vão gerir a aplicação, eles é que decidem se vao chamar alguma view ou não.

sugiro que dês uma vista de olhos em routers, já que eles facilitam o trabalho de criar urls amigáveis, como o https://github.com/klein/klein.php.

o server deve apontar o document root para uma pasta dedicada a ficheiros que têm acesso público, normalmente a pasta "public" (criada por ti), porque assim ninguém tem acesso direto aos teus ficheiros php, o que é uma boa prática de segurança. dentro da pasta public tens um htaccess e o index.php, este que vai chamar o router (se usares o composer para gerir as coisas é melhor).

depois só tens que fazer algo como:
$klein->respond('GET', '/qwe', function ($request, $response) {
$qwe= new Qwe\controller\AppController();
    $qwe->indexAction();
});

no controller dizes depois se queres ou não fazer o render da view, tipo require_once cozinha.php;

para este require não estar sempre a ser criado nas funções e teres uma melhor gestão do código podes extender a class do controller a outra onde tem por exemplo uma função para fazer o render.

cumps

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.