Blog


Codeigniter – Urls amigaveis e Controller

1 de junho de 2016

Bom para começar muitos poderão achas este post desnecessário e muito iniciante, e realmente é, apesar de tudo, acredito que assim como eu alguns podem fazer confusão no inicio dos estudos do framework.

Apesar de um bom entendimento sobre MVC, muita gente pode fazer confusão no momento em que estas classes e métodos fizeram a ligação com as urls amigáveis. Pode parecer banal esta informação mas o Codeigniter usa o CamelCase como método de escrita, a classe deve ter o mesmo nome do arquivo (caso tenha duvidas estude um pouco de MVC).

 

Configurando URLs amigáveis

 

Para o Codeigniter trabalhar com URLs amigáveis é necessário criar um arquivo .htaccess na raiz de sua aplicação com o seguinte código:

 

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

 

caso tenha duvidas consulte a documentação do framework aqui

Pronto, provavelmente suas urls amigáveis já estão funcionando, caso tenha duvidas na tela inicial acesse welcome (tela inicial assim que o Codeigniter é instalado), caso aconteça algum erro ele apresentara uma pagina 404 padrão.

Criando um HelloWorld

Para criar o famoso HelloWorld basta ir em sua pasta application -> controllers e criar o arquivo HelloWord.php (lembra do CamelCase?), neste arquivo escreva o seguinte código:

<?php

/* define a url base de sua aplicação

defined('BASEPATH') OR exit('No direct script access allowed');

 

/* o nome igual ao arquivo */

class HelloWorld extends CI_Controller

{

function index()

{



echo "Olá Mundo!";

}

}

acesse a url de seu projeto /helloworld e pronto, a mensagem olá mundo deve aparecer, o Codeigniter usa como padrão o nome-da-classe/nome-do-metodo para gerar suas urls.Assim sendo a url exemplo: http://meuprojeto/helloworld/index representa exatamente minha classe e meu método criado dentro do controller, sendo que neste caso o acesso através da url http://meuprojeto/helloworld também funcionaria, já que index seria algo igual aos famosos index.html ou index.php.

para entender melhor, crie logo abaixo o método index o metodo teste, algo parecido com isto:

<?php

/* define a url base de sua aplicação

defined('BASEPATH') OR exit('No direct script access allowed');

 

/* o nome igual ao arquivo */

class HelloWorld extends CI_Controller

{

function index()

{

echo "Olá Mundo!";

}

 
function teste(){

echo "Meu teste";

}

}

apos criar o método acesse a url: http://meuprojeto/helloworld/teste, e visualize o conteúdo dentro do método teste, apesar de banal este entendimento é bem importante no momento que for criar um projeto que faça varias requisições pelo método get e ate mesmo na organização do projeto.

Bom por hoje é só, lógio que isto é apenas o incio, o controller vai muito alem de apenas dar echos ou criar visualizações, em breve criaremos paginas estaticas com Codeigniter.

Espero que tenham gostado e Enjoy