Comenzamos con el Tutorial de CakePHP 4 en Español, aprenderemos como descargar, instalar, emplear migraciones y semillas todo paso a paso, guiándonos de la documentación oficial del framework.
Tutorial CakePHP – Instalación y Descarga
Primeros es necesario crear un nuevo proyecto, ejecutamos el siguiente comando en una terminal.
composer create-project --prefer-dist cakephp/app:4.* cake-stripe
Una vez creado el proyecto vamos a listar.
ls
Luego vamos a darle todos los permisos al proyecto
sudo chmod -R 777 cake-stripe
Navegamos al interior del proyecto
cd cake-stripe
Iniciamos el server local de desarrollo con la linea de comandos cli
bin/cake server
Una vez iniciemos el servidor, copiaremos y pegaremos la url en el navegador, en este ejemplo usaremos google chrome, recuerden instalar las extensiones requeridas como en este ejemplo con sqlite.
sudo apt install php7.4-sqlite3
Donde dice Database nos mostrara un icono donde tenemos que conectar la base de datos, es requerido para crear acciones, si intentamos crear un controlador, nos mostrara una exception.
bin/cake bake controller
La configuración de la base de datos lo haremos en el siguiente archivo nombreProyecto/config/app_local.php
Conectaremos a MySQL para verificar la conexión con el framework, con los datos que configuramos al momento de instalar esta base de datos, -u el usuario y -p la contraseña.
mysql -u nombreUsuario -p
Listamos todas las bases de datos en nuestro ordenador o servidor, y creamos una nueva para este tutorial de cakephp
show databases
create database cake_stripe
Vamos a usar la nueva base de datos que hemos creado.
Añadimos la configuración correspondiente.
'Datasources' => [
'default' => [
'host' => 'localhost',
/*
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => 'jonathan',
'password' => '123',
'database' => 'cake_stripe',
/*
* If not using the default 'public' schema with the PostgreSQL driver
* set it here.
*/
//'schema' => 'myapp',
/*
* You can use a DSN string to set the entire configuration
*/
'url' => env('DATABASE_URL', null),
],
Ahora el icono ha cambiando, por que ya tenemos conectada la base de datos.
Si intentamos crear una acción, recibiremos el mensaje de error, ya que necesitamos crear una tabla.
Migraciones – ¿Cómo crearlas?
Vamos a crear una nueva migración en cakephp 4, ejecutamos el siguiente comando.
bin/cake bake migration Customers
Nos creara el siguiente archivo en esta ubicación nombreProyecto/config/Migrations/FormatoTimeStamp_Customers.php
Agregamos el siguiente código para crear algunos campos.
$table = $this->table('customers');
$table->addColumn('first_name', 'char')
->addColumn('last_name', 'char')
->addColumn('created', 'datetime')
->create();

Seed – ¿Cómo crearlas?
Luego de agregar los campos a las migraciones es necesario crear semillas, para trabajar con data de prueba.
bin/cake bake seed Customers
Nos creara la siguiente estructura de archivos nombreProyecto/config/Seeds/CustomersSeed.php, el cual viene con un código integrado por defecto.
Agregamos las siguientes lineas de código para trabajar con datos de prueba.
$data = [
[
'first_name' => 'jonathan',
'last_name' => 'castro',
'created' => date('Y-m-d H:i:s'),
],[
'first_name' => 'maria',
'last_name' => 'gonzales',
'created' => date('Y-m-d H:i:s'),
]
];
$table = $this->table('users');
$table->insert($data)->save();
Ejecutamos todas las migraciones, en este caso tenemos 1 sola, también procederá a insertar la data de prueba con las seeds (semillas).
bin/cake migrations migrate
En el caso de querer ejecutar solamente las semillas, procedemos con el siguiente comando.
bin/cake migrations seeds
Finalmente procedemos a verificar la data insertada en nuestra base de datos.
show tables;
desc customers;
select * from customers
Continua aprendiendo con el curso completo de CakePHP4 desde cero a intermedio.