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

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


Validação dos dados



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

Contendo:

<h1><?php echo h($post['Post']['title']); ?></h1>

<p><small>Created: <?php echo $post['Post']['created']; ?></small></p>

<p><?php echo h($post['Post']['body']); ?></p>


Edite novamente o PostsController.php, e deixe assim:

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

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

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

    }

    public function add() {
       if ($this->request->is('post')) {
         if ($this->Post->save($this->request->data)) {
             $this->Session->setFlash('Your post has been saved.');
             $this->redirect(array('action' => 'index'));
         } else {
             $this->Session->setFlash('Unable to add your post.');
         }
       }
    }
}


Crie o arquivo app/View/Posts/add.ctp

Contendo:

<h1>Add Post</h1>
<?php
echo $this->Form->create('Post');
echo $this->Form->input('title');
echo $this->Form->input('body', array('rows' => '3'));
echo $this->Form->end('Save Post');
?>


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

E adicione logo acima de:  <table>

E abaixo de:  <h1>

Ainda validando

Edite o app/Model/Post.php

E altere assim:

<?php
class Post extends AppModel {
    public $validate = array(
       'title' => array(
          'rule' => 'notEmpty'
       ),
       'body' => array(
          'rule' => 'notEmpty'
       )
    );
}


Edite o PostController.php

E adicione ao final, para deixar 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());
    }

       public function edit($id = null) {
          $this->Post->id = $id;
          if ($this->request->is('get')) {
             $this->request->data = $this->Post->read();
          } else {
             if ($this->Post->save($this->request->data)) {
                $this->Session->setFlash('Your post has been updated.');
                $this->redirect(array('action' => 'index'));
             } else {
                $this->Session->setFlash('Unable to update your post.');
             }
          }
    }
}


Crie o arquivo app/View/Posts/edit.ctp

E deixe assim:

<h1>Edit Post</h1>
<?php
    echo $this->Form->create('Post', array('action' => 'edit'));
    echo $this->Form->input('title');
    echo $this->Form->input('body', array('rows' => '3'));
    echo $this->Form->input('id', array('type' => 'hidden'));
    echo $this->Form->end('Save Post');


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

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

Ninguém planeja fracassar, mas muitos fracassam por não planejar

Funções da categoria Miscelânea do PHP

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

Lista de extensões preferidas para Joomla!

  
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