Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hinom

MVC em PHP - part 007, Rewrite Rules (.htaccess)

Recommended Posts

007 - Rewrite Rules (.htaccess)

 

public_html\.htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^.([0-9.]+)?(\/[a-zA-Z0-9_-\s\+\/.=]+())?$ /?p=$1

A regra consiste em abstrair caracteres numéricos + o caracter "." logo após encontrar a primeira ocorrência do caracter ".".

Os dados são atribuídos ao parâmetro "p", o qual está definido no arquivos de Configurações Gerais.

 

Na sequência, permite utilização de práticas SEO/SEM/LPO para URLs

 

Exemplos:

 

http://dev-foo/.1/Hello_World!

Abrirá a página do módulo "Home", pois, o módulo está definido no array do controlador no índice 1.

 

Trecho do script em "app\controller.php"

function Modules( )
    {


        $this->rs = array(
            1 => array(
                       'name'         => 'home',
                       'template'     => 'home.html',
                       'ModFolder'    => false
                      ),

 

Vamos supor um exemplo, definindo um novo módulo sob o índice 2 do controlador

 

 

Exemplo de como ficaria em "app\controller.php"

function Modules( )
    {


        $this->rs = array(
            1 => array(
                       'name'         => 'home',
                       'template'     => 'home.html',
                       'ModFolder'    => false
                      ),

            2 => array(
                       'name'         => 'newsbar',
                       'template'     => 'newsbar.html',
                       'ModFolder'    => false
                      ),

 

Para acessar o módulo "newsbar", atribua o seu respectivo índice na URL

http://dev-foo/.2/Anything_For_SEO
http://dev-foo/.2/何かのSEOについて
http://dev-foo/.2/Qual.Quer.Coisa.Para.SEO

 

 

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Índice

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif 006 - Library Request

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao seria melhor dinamico, ao invez ter q add manualmente cada modulo ao sistema?

??

 

como seria "dinâmico" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor.php

Não entendi muito bem, mas... não tem como o sistema saber coisas especificas de SEUS recursos.

Por exemplo, se você quer desenhar uma linha no PAINT, não tem como o paint fazer para você. A não ser que você passa as informações necessário.

Acho que o mesmo vale para o script acima :)

Ele já passa o modulo que quer na URL, aí basta o sistema escolher o correspondente (que você criou)....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh, você realmente nao entendeu...segiunte, ele cria os modulos, sem add nada nesse arquivo ae....se eu digitar o modulo na url, ele acha automaticamente, se nao achar ele da erro 404, no meu rfamework eu fiz isso....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm... agora entendi.

Mas neste caso, creio, que teria que modificar o sistema (obvio =P). A maioria dos frameworks é como o seu, passa-se o model na URL e ele acha automaticamente....

PS: Desculpe pelo mal entendido

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh, você realmente nao entendeu...segiunte, ele cria os modulos, sem add nada nesse arquivo ae....se eu digitar o modulo na url, ele acha automaticamente, se nao achar ele da erro 404, no meu rfamework eu fiz isso....

não...

 

caso não exista um módulo registrado, o qual tenha sido requisitado, é executado o módulo definido como "default" ao invés de retornar o erro 404.

 

no exemplo desse tutorial mvc, está definido na classe Controller, pelo médoto Init()

 

http://forum.imasters.com.br/index.php?/topic/362207-mvc-em-php-part-003-inicializadores-e-configuraes-gerais/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.