13.2 – Aplicativo Blog
Só fracassa quem desiste de lutar, quem para de tentar, por isso quando cair lembre-se que reerguer-se já é uma vitória.
Criando um Blog Simples em CakePHP 3
Pré-Requisitos
PHP 5.5.9 com pdo_mysql, intl e mbstring (no terminal digite php -v)
Apache 2
MySQL 5
Caso tenha o cRUL instalado use:
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Instalar no Windows
http://book.cakephp.org/3.0/en/installation.html
Criar uma nova aplicação do Cake:
composer create-project --prefer-dist cakephp/app cakeblog
O comando acima criou a estrutura de arquivos e diretórios básicos de um aplicativo chamado cakeblog.
Criar o banco cake_blog
Configurar o banco em config/app.php
Configure seu Apache para que tenha suporte ao mod_rewrite.
Model
Após criar um model (modelo) no CakePHP, nós teremos a base necessária para interagirmos com o banco de dados e executar operações.
Os arquivos de classes, correspondentes aos models, no CakePHP estão divididos entre os objetos Table e Entity. Objetos Table provêm acesso à coleção de entidades armazenada em uma tabela e são alocados em src/Model/Table. Entity em src/Model/Entity.
Configurando rotas:
config/routes.php
$routes->connect('/', ['controller' => 'Articles', 'action' => 'index']);
Gerando código com bake:
bin/cake bake all Articles
Executar para criar um arquivo de migração:
bin/cake bake migration CreateArticles title:string body:text category_id:integer created modified
Criar uma tabela de categorias:
bin/cake bake migration CreateCategories parent_id:integer lft:integer[10] rght:integer[10] name:string[100] description:string created modified
Criar as tabelas
bin/cake migrations migrate
Abra o arquivo src/Model/Table/ArticlesTable.php e adicione o seguinte:
// src/Model/Table/ArticlesTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
// ADICIONE AS 3 LINHAS ABAIXO PARA RELACIONAR AS DUAS TABELAS
$this->belongsTo('Categories', [
'foreignKey' => 'category_id',
]);
}
}
Para Gerar código
bin/cake bake all Categories
Acesse
Adicione alguns registros e veja como funciona.
Acesse
Comments fornecido por CComment