zznh Posted May 1, 2017 at 02:56 PM Report Share #603888 Posted May 1, 2017 at 02:56 PM (edited) 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 May 1, 2017 at 02:56 PM by zznh Link to comment Share on other sites More sharing options...
devgoncalo Posted May 1, 2017 at 10:17 PM Report Share #603892 Posted May 1, 2017 at 10:17 PM 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now