Criando um blog com o CakePHP 2.2.1

Este tutorial visa a criação de um pequeno blog como aplicativo de exemplo no Framework CakePHP, versão 2.2.1. Ele é bem resumido e em português, seguindo os passos da documentação oficial. Também compartilho o script final que criei na elaboração do tutorial. O intuito deste artigo é facilitar os primeiros passos com o Framework CakePHP.

[ Hits: 18.757 ]

Por: Ribamar FS em 20/07/2012 | Blog: http://ribafs.org


Excluindo posts - Rotas



Atualize o app/View/Posts/index.ctp

Para isso:

<h1>Blog posts</h1>
<p><?php echo $this->Html->link("Add Post", array('action' => 'add')); ?></p>
<table>
    <tr>
       <th>Id</th>
       <th>Title</th>
           <th>Action</th>
       <th>Created</th>
    </tr>

<!-- Here's where we loop through our $posts array, printing out post info -->

<?php foreach ($posts as $post): ?>
    <tr>
       <td><?php echo $post['Post']['id']; ?></td>
       <td>
         <?php echo $this->Html->link($post['Post']['title'], array('action' => 'view', $post['Post']['id'])); ?>
       </td>
       <td>
         <?php echo $this->Html->link('Edit', array('action' => 'edit', $post['Post']['id'])); ?>
       </td>
       <td>
         <?php echo $post['Post']['created']; ?>
       </td>
    </tr>
<?php endforeach; ?>

</table>


Deletando Posts

Adicione o 'action' abaixo, ao final do PostsController.php:

public function delete($id) {
    if ($this->request->is('get')) {
       throw new MethodNotAllowedException();
    }
    if ($this->Post->delete($id)) {
       $this->Session->setFlash('The post with id: ' . $id . ' has been deleted.');
       $this->redirect(array('action' => 'index'));
    }
}


Atualize o app/View/Posts/index.ctp, para:

<h1>Blog posts</h1>
<p><?php echo $this->Html->link('Add Post', array('action' => 'add')); ?></p>
<table>
    <tr>
       <th>Id</th>
       <th>Title</th>
       <th>Actions</th>
       <th>Created</th>
    </tr>

<!-- Here's where we loop through our $posts array, printing out post info -->

    <?php foreach ($posts as $post): ?>
    <tr>
       <td><?php echo $post['Post']['id']; ?></td>
       <td>
         <?php echo $this->Html->link($post['Post']['title'], array('action' => 'view', $post['Post']['id'])); ?>
       <td>
       <td>
         <?php echo $this->Form->postLink(
           'Delete',
           array('action' => 'delete', $post['Post']['id']),
           array('confirm' => 'Are you sure?'));
         ?>
         <?php echo $this->Html->link('Edit', array('action' => 'edit', $post['Post']['id'])); ?>
       <td>
       <td>
         <?php echo $post['Post']['created']; ?>
       <td>
    </tr>
    <?php endforeach; ?>

</table>


Rotas

Com isso, queremos mudar o comportamento padrão do Cake para abrir inicialmente nosso controller PostsController.

Edite o arquivo: app/Config/routes.php

Remova as linhas como esta:

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));


E adicione esta:

Router::connect('/', array('controller' => 'posts', 'action' => 'index'));


Agora, ao abrir o site, ele não mostrará o conteúdo de boas-vindas, mas o nosso blog.

Mais informações sobre Rotas:
Prontinho, temos um pequeno aplicativo funcionando e criado com o Framework CakePHP 2.2.1.

Link para os fontes:

Página anterior    

Páginas do artigo
   1. Banco de dados - Configuração do banco
   2. Criando posts
   3. Validação dos dados
   4. Excluindo posts - Rotas
Outros artigos deste autor

Lista de extensões preferidas para Joomla!

Leitura recomendada

Solução open source para clínicas médicas

Funções da categoria Miscelânea do PHP

Lista de extensões preferidas para Joomla!

Gráficos em PHP Highcharts

Requisições assíncronas em PHP usando AJAX - Parte I

  
Comentários
[1] Comentário enviado por rony_souza em 20/07/2012 - 16:45h

Excelente tutorial!

[2] Comentário enviado por ribafs em 20/07/2012 - 16:47h

Muito grato pela força caro Rony!

[3] Comentário enviado por adrianoc em 15/10/2012 - 23:08h

Parabéns pelo artigo, gostaria de recomendar estes sites para um melhor suporte, http://book.cakephp.org/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts