{"id":83,"date":"2011-09-28T01:30:34","date_gmt":"2011-09-28T01:30:34","guid":{"rendered":"http:\/\/info.ffteixeira.net\/2011\/09\/28\/rotas-routers-cakephp\/"},"modified":"2011-09-28T01:30:34","modified_gmt":"2011-09-28T01:30:34","slug":"rotas-routers-cakephp","status":"publish","type":"post","link":"https:\/\/blog.ffteixeira.net\/?p=83","title":{"rendered":"Rotas (Routers) CakePHP"},"content":{"rendered":"<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 10pt\"><span lang=\"PT-BR\"><span style=\"font-size: small\"><br \/>\nAs rotas s\u00e3o os mapeamentos de requisi\u00e7\u00f5es feitas pelo <em>Browser<\/em> a um controlador e uma ac\u00e7\u00e3o espec\u00edfica. No Cake, a requisi\u00e7\u00e3o feita pelo utilizador \u00e9 enviada ao dispatcher que localiza a rota que ser\u00e1 usada e passa essa requisi\u00e7\u00e3o para o controlador, executando umadeterminada ac\u00e7\u00e3o deste \u00faltimo. Veja a ilustra\u00e7\u00e3o abaixo:<br \/>\n<!--more--><\/p>\n<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 10pt\"><span lang=\"PT-BR\"><span style=\"font-size: small\"><br \/>\nAs rotas s\u00e3o os mapeamentos de requisi\u00e7\u00f5es feitas pelo <em>Browser<\/em> a um controlador e uma ac\u00e7\u00e3o espec\u00edfica. No Cake, a requisi\u00e7\u00e3o feita pelo utilizador \u00e9 enviada ao dispatcher que localiza a rota que ser\u00e1 usada e passa essa requisi\u00e7\u00e3o para o controlador, executando umadeterminada ac\u00e7\u00e3o deste \u00faltimo. Veja a ilustra\u00e7\u00e3o abaixo:<!--more--><\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 0pt\"><span style=\"font-size: small\"><span lang=\"PT-BR\"><span lang=\"PT-BR\"><span style=\"font-size: small\"><img decoding=\"async\" src=\"http:\/\/utilidades.fernandofilipeteixeira.info\/images\/routers.jpg\" alt=\"\" \/><\/span><\/span><br \/>\nO arquivo para a configura\u00e7\u00e3o das rotas, no Cake, \u00e9 o arquivo <\/span><span lang=\"PT-BR\"><em>routes.php<\/em> <\/span><span lang=\"PT-BR\">que se encontra no diret\u00f3rio <\/span><span lang=\"PT-BR\"><em>appconfigroutes.php<\/em><\/span><span lang=\"PT-BR\">.<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 0pt\"><span style=\"font-size: small\"><span lang=\"PT-BR\">Ent\u00e3o \u00e9 atrav\u00e9s das rotas que nossa aplica\u00e7\u00e3o sabe qual ac\u00e7\u00e3o de qual controlador a ser executada quando determinada requisi\u00e7\u00e3o \u00e9 efectuada. Se um utilizador aceder <\/span><span lang=\"PT-BR\"><span style=\"color: #0000ff\"><em>http:\/\/www.meusite.com<\/em><\/span> <\/span><span lang=\"PT-BR\">\u00e9 muito prov\u00e1vel que a p\u00e1gina que visualize seja uma <em>view<\/em> chamada \u201c<em>index<\/em>\u201d num <em>controller<\/em> chamado \u201c<em>home<\/em>\u201d. Para isso, nosso arquivo de rotas deve ter uma configura\u00e7\u00e3o parecida com a abaixo:<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 0pt\"><span lang=\"PT-BR\"><span style=\"font-size: small\">\u00a0 <\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 0pt\"><span lang=\"EN-US\"><span style=\"font-size: small\"><strong><em>Router::connect(&#8216;\/&#8217;, array(&#8216;controller&#8217; =&gt; &#8216;home&#8217;, &#8216;action&#8217; =&gt; &#8216;index&#8217;));<\/em><\/strong><\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"line-height: normal;margin: 0cm 0cm 0pt\"><span lang=\"EN-US\"><span style=\"font-size: small\">\u00a0<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 10pt\"><span><span style=\"font-size: small\">Por padr\u00e3o, no CakePHP, a ac\u00e7\u00e3o <em>index<\/em> \u00e9 chamada num controller quando nenhuma ac\u00e7\u00e3o \u00e9 passada na requisi\u00e7\u00e3o. <\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 10pt\"><span><span style=\"font-size: small\">Por isso acedemos <em>\/eventos<\/em> da nossa aplica\u00e7\u00e3o, ser\u00e1 executada a ac\u00e7\u00e3o <em>index<\/em> do <em>EventosController<\/em>.<\/span><\/span><\/p>\n<p>From: <a href=\"http:\/\/pt.scribd.com\/doc\/54854591\/Apostila-Cakephp\">http:\/\/pt.scribd.com\/doc\/54854591\/Apostila-Cakephp<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As rotas s\u00e3o os mapeamentos de requisi\u00e7\u00f5es feitas pelo Browser a um controlador e uma ac\u00e7\u00e3o espec\u00edfica. No Cake, a requisi\u00e7\u00e3o feita pelo utilizador \u00e9 enviada ao dispatcher que localiza a rota que ser\u00e1 usada e passa essa requisi\u00e7\u00e3o para &hellip; <a href=\"https:\/\/blog.ffteixeira.net\/?p=83\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-83","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=\/wp\/v2\/posts\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":0,"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ffteixeira.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}