Dezembro 21, 2021

páginas estáticas¶

Nota: Este tutorial assume que você baixou o CodeIgniter einstalou a estrutura em seu ambiente de desenvolvimento.

a primeira coisa que você vai fazer é configurar um controlador para páginas handlestatic. Um controlador é simplesmente uma classe que ajuda a delegar work.It é a cola do seu aplicativo da web.

por exemplo, quando uma chamada é feita para:

podemos imaginar que existe um controlador chamado “news”. O método chamado de notícias seria “mais recente”. O trabalho do método de notícias pode ser tograb 10 itens de notícias e renderizá-los na página. Muitas vezes, no MVC, você verá padrões de URL que correspondem:

à medida que os esquemas de URL se tornam mais complexos, isso pode mudar. Mas, por enquanto, isso é tudo o que precisamos saber.

crie um arquivo em application / controllers / Pages.php com o seguinte código.

<?phpclass Pages extends CI_Controller { public function view($page = 'home') { }}

você criou uma classe chamada Pages, com um método view que aceita um argumento chamado $page. A classe Pages está estendendo a classe CI_Controller. Isso significa que a nova classe pages pode acessar themethods e variáveis definidas na classe CI_Controller (system/core/Controller.pai).

o controlador é o que vai se tornar o centro de cada pedido toyour aplicação web. Em discussões muito técnicas CodeIgniter, talvez referido como o super objeto. Como qualquer classe php, você se refereit dentro de seus controladores como $this. Referindo-se a $this é comovocê carregará bibliotecas, visualizações e geralmente comandará a estrutura.

agora que você criou seu primeiro método, é hora de fazer algumas pagetemplates básicas. Estaremos criando duas “visualizações” (modelos de página) que atuam comonosso rodapé e cabeçalho da página.

Crie o cabeçalho em application / views / templates / header.php e addthe código a seguir:

<html> <head> <title>CodeIgniter Tutorial</title> </head> <body> <h1><?php echo $title; ?></h1>

o cabeçalho contém o código HTML básico que você deseja exibirantes de carregar a exibição principal, junto com um título. Ele também colocará a variável $title, que definiremos mais tarde no controlador.Agora, crie um rodapé em application / views / templates / footer.php que inclui o seguinte código:

 <em>&copy; 2015</em> </body></html>

adicionando lógica ao controlador¶

anteriormente, você configurou um controlador com um método view(). O métodoaceita um parâmetro, que é o nome da página a ser carregada. Os modelos de página do Thestatic estarão localizados no diretório application/views/pages/.

nesse diretório, crie dois arquivos chamados home.php e sobre.pai.Dentro desses arquivos, Digite algum texto − o que quiser − e salve-os.Se você gosta de ser particularmente original, tente “Hello World!”.

para carregar as páginas, você terá que verificar se o requestedpage realmente existe:

public function view($page = 'home'){ if ( ! file_exists(APPPATH.'views/pages/'.$page.'.php')) { // Whoops, we don't have a page for that! show_404(); } $data = ucfirst($page); // Capitalize the first letter $this->load->view('templates/header', $data); $this->load->view('pages/'.$page, $data); $this->load->view('templates/footer', $data);}

Agora, quando a página não existe, ele é carregado, incluindo o cabeçalho andfooter, e exibido para o usuário. Se a página não existir, será exibido um erro “404Page not found”.

a primeira linha deste método verifica se a página realmente existe.A função nativa file_exists() do PHP é usada para verificar se o fileis está onde se espera que esteja. show_404() é um CodeIgniterfunction integrado que renderiza a página de erro padrão.

no modelo de cabeçalho, a variável $title foi usada para personalizar o título da página. O valor de title é definido neste método, mas em vez deassignar o valor a uma variável, ele é atribuído ao elemento titlena matriz $data.

a última coisa que precisa ser feita é carregar as visualizações na ordemeles devem ser exibidos. O segundo parâmetro no método view() éusado para passar valores para a visualização. Cada valor na matriz $data é atribuído a uma variável com o nome de sua chave. Portanto, o valor de$data no controlador é equivalente a $title noview.

roteamento¶

o controlador está funcionando agora! Aponte seu navegador paraindex.php/pages/view para ver sua página. Quando você visitarindex.php/pages/view/about você verá a página Sobre, novamente incluindoo cabeçalho e rodapé.

usando regras de roteamento personalizadas, você tem o poder de mapear qualquer URI para anycontroller e método, e se libertar da Convenção normal:http://example.com///

vamos fazer isso. Abra o arquivo de roteamento localizado emaplicação / configuração / rotas.php e adicione as duas linhas a seguir.Remova todos os outros códigos que definem qualquer elemento na matriz $route.

$route = 'pages/view';$route = 'pages/view/';

CodeIgniter lê suas regras de roteamento de cima para baixo e rotas therequest para a primeira regra correspondente. Cada regra é uma expressão regular(lado esquerdo) mapeada para um nome de controlador e método separado por barras (lado direito). Quando uma solicitação entra, o CodeIgniter procura o firstmatch e chama o controlador e o método apropriados, possivelmente comargumentos.

mais informações sobre roteamento podem ser encontradas no URI Routingdocumentation.

aqui, a segunda regra na matriz $route corresponde a qualquer requisição usando a string curinga (:any). e passa o parâmetro para o métodoview() da classe Pages.

agora visite index.php/about. Ele foi roteado corretamente para o método view() no controlador de páginas? Da hora!

Deixe uma resposta

O seu endereço de email não será publicado.