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.763 ]

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


Criando posts



Criando um post e um controller

Para, por exemplo:

Configure::write('Security.salt', 'teste');


Também a linha 192:

Configure::write('Security.cipherSeed', '76859309657453542496749683645');


Para, por exemplo:

Configure::write('Security.cipherSeed', '123456');


Agora, acesse o site e tecle F5: http://localhost/blog

Os notices devem desaparecer.

Caso esteja usando GNU/Linux, talvez precise ajustar permissões no app/tmp.

Na dúvida, veja:

Ativando o módulo mod_rewrite

Se tiver dúvida, veja:

Criando um Post do Model

Crie o arquivo: app/Model/Post.php

Contendo:

<?php
class Post extends AppModel {
}


Cake deve dinamicamente criar um objeto model para você, caso ele não encontre um arquivo correspondente em app/Model.

Criar um Post do Controller

O controller é onde toda a lógica de negócios, para a interação com o Post, deve aparecer.

Criar o arquivo: app/Controller/PostsController.php

Inicialmente contendo:

<?php
class PostsController extends AppController {
   public $helpers = array('Html', 'Form');
}


Vamos adicionar uma 'ação/action' para o controller:

<?php
class PostsController extends AppController {
   public $helpers = array('Html', 'Form');

   public function index() {
      $this->set('posts', $this->Post->find('all'));
   }
}


Mais sobre Controllers:

Criando um post do Viewer

Esta é a camada de apresentação que pode conter HTML misturado com PHP, ou XML, CVS e até dados binários.

Crie o arquivo: app/View/Posts/index.ctp

Contendo:

<h1>Blog posts</h1>
<table>
    <tr>
       <th>Id</th>
       <th>Title</th>
       <th>Created</th>
    </tr>

    <!-- Here is 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('controller' => 'posts', 'action' => 'view', $post['Post']['id'])); ?>
       </td>
       <td><?php echo $post['Post']['created']; ?></td>
    </tr>
    <?php endforeach; ?>

</table>


Detalhes em:
Edite o PostsController.php, e deixe assim:

<?php
class PostsController extends AppController {
    public $helpers = array('Html', 'Form');

    public function index() {
       $this->set('posts', $this->Post->find('all'));
    }

    public function view($id = null) {
       $this->Post->id = $id;
       $this->set('post', $this->Post->read());
    }
}


Página anterior     Próxima página

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

Uma introdução à biblioteca GD

Debian com Apache, PHP4, PHP5 e MySQL

Migração de dados no Joomla

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

Desenvolvendo um componente de calendário dinâmico em PHP

  
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