CakePHP Tutorial en Español

cakephp tutorial

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

cakephp tutorial - instalación y descarga

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

cakephp tutorial - Paso 1
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

cakephp tutorial - Paso 2

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

cakephp tutorial - Paso 3

La configuración de la base de datos lo haremos en el siguiente archivo nombreProyecto/config/app_local.php

cakephp tutorial - Paso 4
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

crear base de datos

Vamos a usar la nueva base de datos que hemos creado.

usar la base de datos
Añadimos la configuración correspondiente.

configurar base de datos

'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.

conexión exitosa
Si intentamos crear una acción, recibiremos el mensaje de error, ya que necesitamos crear una tabla.

error

Migraciones – ¿Cómo crearlas?

Vamos a crear una nueva migración en cakephp 4, ejecutamos el siguiente comando.

bin/cake bake migration Customers

cakephp migration
Nos creara el siguiente archivo en esta ubicación nombreProyecto/config/Migrations/FormatoTimeStamp_Customers.php

creando migration
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();
		

ejemplo de prueba
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

cakephp seed

Nos creara la siguiente estructura de archivos nombreProyecto/config/Seeds/CustomersSeed.php, el cual viene con un código integrado por defecto.

agregando data
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();
		

ejemplo 1 con data
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

ejemplo 2 con data de prueba
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

seleccionar data mysql

Continua aprendiendo con el curso completo de CakePHP4 desde cero a intermedio.