sexta-feira, 28 de outubro de 2011

Codeigniter 2 + Partials

Partials?

São pedaços de views que facilitam a reutilização de código e diminuem a repetição.

Iniciando pelos Testes (BDD)
Criar a classe de teste em tests/helpers/PartialsHelperTest.php  para guiar o desenvolvimento da classe helper que implementa-rá as funcionalidade de Partials no Codeigniter

Para satisfazer as funcionalidades o helper deve passar pelos dois testes anteriores que são:
- renderizar uma parte de uma view
- renderizar uma parte de uma view n vezes se receber uma collection.

Fixtures
Criar uma view de fixture para os teste em tests/fixtures/_list_people_view_fixt.php
<div class="prepend-1">
<? foreach($people as $person): ?>
    <?= $say_hello ?>, <?= $person->name ?> <br />
<? endforeach; ?>
</div>
Criar um outro arquivo de fixture com a saída html para validar os testes em tests/fixtures/_list_people_view_output.html
<div class="prepend-1">
    Hello World, John <br />
    Hello World, Michael <br />
</div>

Implementado a classe de Helper

Criar a classe  application/helpers/partials_helper.php para implementar as funcionalidades


Alterar o arquivo application/config/autoload.php para carregar o helper
$autoload['helper'] = array('partials');

Utilizando as Partials

Vamos criar uma nova classe de controller que extende MY_Controller para validar o funcionamento. Como estamos extendendo de MY_Controller que utiliza a estratégia de Layouts (veja como configurar layouts) por convenção a view chamada será um arquivo de mesmo nome da action dentro de um diretório de mesmo nome da classe controller.


Criar os três arquivos  dentro do diretório application/views/people/ conforme o conteúdo abaixo.  O arquivo index.php chama as partials que são os arquivos que por convenção iniciam com "_"


Exemplo da organização das pastas do projeto.




Nenhum comentário:

Postar um comentário