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: 20.226 ]

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

Migração de dados no Joomla

Uma introdução à biblioteca GD

Instalação do MediaWiki em uma Project web do SourceForge

Funções da categoria Miscelânea do PHP

A simples classe Date Operations

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts