SyntaxHighlighter.config.bloggerMode = true;SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';SyntaxHighlighter.all(); .body { font-family: Verdana, Geneva, sans-serif; font-size: 14px;}Ola. Outro dia uma pessoa me mandou uma duvida por email sobre um post de MVC, perguntando do dispatcher.Por causa desse tema acabei criando um framework com uma serie de utilidades p/ fast deploy. que hoje tem uma copia funcional e os fontes podem ser obtidos por svn.Veja o resumo no post PHP Kiisf - a simple PHP FrameWork .Mas p/ responder ao email, compartilhei um projeto que precisei implementar em algumas empresas que tinham receio de usar servicos gratuitos como google drive, dropbox entre outros.Esse projeto esta acessivel em http://code.google.com/p/webrapidfiles/Ainda nao usa um dispatcher real e nem um autoloader , mas tem um esquema bacana de usar MVC atribuindo as rotas de url aos controllers responsaveis e todos os POSTS do aplicativo postam p/ o PostController que processa o conteudo postado e delega ao metodo responsavel.Tem bastante coisa funcionando com jQuery tambem. (no popups, yes modal ;) )O aplicativo tem um instalador que :Fazendo a configuracao correta no apache, e informando um usuario com permissoes adequadas em um banco mysql, o sistema cria as tabelas e configura o necessario p/ iniciar seu uso com o usuario admin.Veja o manual de instalacaoE o motivo do post , um resumo bem rapido do pseudo "dispatch".1 - Apos o login a pessoa vai p/ a https://code.google.com/p/webrapidfiles/source/browse/trunk/web/pages/privado.php2 - nessa pagina tem um require :require_once($_SERVER['DOCUMENT_ROOT'] ."/pages/opcoes.php"); https://code.google.com/p/webrapidfiles/source/browse/trunk/web/pages/opcoes.phpque inclui os models e controllers de acordo com o parametro section na url require_once($_SERVER['DOCUMENT_ROOT']."/app/controller/".$controller.".php");require_once($_SERVER['DOCUMENT_ROOT']."/app/model/".$model.".class.php");e junto com a view https://code.google.com/p/webrapidfiles/source/browse/trunk/web/pages/view.phpai as urls ficam assim:http://xpto?section=uploads&action=upload section=grupos&action=index section=admin&action=indexEspero ter ajudado. Mas p/ um esquema mais completo veja o dispatcher do PHPKiisf que ja esta mais elaborado e vou dar continuidade no projeto.E uma copia de demonstracao acessivel em http://phpkiisf.mcezzare.com.br[]'s Ate a proxima SyntaxHighlighter.config.bloggerMode = true;SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';SyntaxHighlighter.all(); Este artigo e uma continuacao da explicacao do uso da funcao __autoload , so que neste utilizando namespaces.Bem, como vimos a utilizacao do recurso de autoload, agora vou adequar os arquivos do post anterior p/ poder utilizar o recurso de namespaces. Pode parecer um pouco confuso ate pegar o jeito, mas vale a pena. Esse novo conceito necessita de organizacao e algumas dicas q eu dou sao:Importantes:1 - que vc utilize os namespaces de acordo com sua estrutura fisica de arquivos e pastas.Evite perda de tempo e confusoes desnecessarias2 - que vc de uma boa lida nesses links :- namespaces- static - __autoload - spl- spl_autoload_register, - ArrayIterator3 - que voce aceite o novo padrao de implementacao que esta sendo pedido, e esqueca o jeito procedural de fazer as coisas. Daqui para frente pense sempre em OOP, Classes , Reutilizacao de Codigo;4 - que antes de sair codificando alguma coisa, verifique se ja existe alguma design pattern para o seu problema;5 - Veja na documentacao fornecida pelo fabricante ou mantenedor os modelos exemplos fornecidos. Penso que ninguem melhor para mostrar o melhor uso. No caso do php o site do PHP , da ORACLE e da IBM sao boas referencias;Opcionais:6 - Se possivel faca um modelo UML antes do sistema, existem diversas ferramentas