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

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

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

Uma introdução à biblioteca GD

Funções da categoria Miscelânea do PHP

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

Gráficos em PHP Highcharts

  
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