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

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

Migração de dados no Joomla

Funções da categoria Miscelânea do PHP

JOOMLA no openSUSE em 10 passos

Gráficos em PHP Highcharts

Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

  
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