Introducción a desarrollo web con PHP y Yii

1

Conceptos claves de G y G2: Desarrollo Ágil PHP

2

Desarrollo web con Yii: Framework potente y bien documentado

3

Arquitectura MVC: Modelo, Vista y Controlador en Detalle

4

Instalación y configuración de Yii2 con Composer y MySQL

5

Configuración Básica de Archivos en Proyectos Yii2

6

Configuración de Entorno en Yii2: Uso de Variables en PHP

Quiz: Introducción a desarrollo web con PHP y Yii

Esquema de la aplicación

7

Relaciones de datos en Yii2: Crear bibliotecas personales

8

Creación de Bases de Datos SQL desde Cero

9

Creación y Gestión de Bases de Datos MySQL

Quiz: Esquema de la aplicación

Modelos, vistas y controladores

10

Comandos en Yii: Creación y Ejecución desde Terminal

11

Creación y uso de modelos en PHP con Yii

12

Uso de ActiveRecord en Yii para Bases de Datos

13

Creación de Modelos en el Framework Yii

14

Relaciones en Yii: Conecta modelos Book y Author fácilmente

15

Relaciones entre Modelos en Yii: Has Many y Getters

16

Desarrollo de Controladores Web en Yii Framework

17

Redirección y Mensajes Flash en Yii2

18

URL Bonitas en PHP: Configuración y Manejo Avanzado

19

Smarty: Plantillas PHP eficaces en aplicaciones web Yii

20

Uso de Smarty en Yii2 para Plantillas Eficientes

Quiz: Modelos, vistas y controladores

Manejo de usuarios con Yii2

21

Creación de Tabla Usuarios con Funciones de Autenticación Segura

22

Ofuscación de contraseñas en Yii con MD5

23

Autenticación de Usuarios en Yii2: Configuración y Personalización

24

Validación de Datos de Usuario en Framework Yii

25

Creación de Formulario con Smarty y ActiveForm en PHP

26

Validación de Datos en Modelos con Yii2

27

Validadores de Datos en PHP: Core Validators y Filtros

Quiz: Manejo de usuarios con Yii2

Enlaces, navegación y tablas intermedias

28

Creación de Libros y Validación en PHP

29

Creación y Gestión de Bases de Datos en PHP: Casos Prácticos

30

SQL para Principiantes: Consultas, Joins y Subconsultas

31

Calificación de Libros en PHP: Creación y Validación de Modelos

32

Promedio y Análisis de Calificaciones de Libros y Usuarios

33

Relaciones y Consultas Complejas en Bases de Datos

34

Programación Básica con Framework G para Creación de Bibliotecas

Quiz: Enlaces, navegación y tablas intermedias

Despliegue y cierre del proyecto

35

Deploy de una aplicación PHP a Heroku paso a paso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Comandos en Yii: Creación y Ejecución desde Terminal

10/35
Recursos

¿Cómo usar comandos en Yii?

Al construir aplicaciones web complejas, es vital estar familiarizado con la configuración y operación de diferentes herramientas que un framework como Yii ofrece. Tanto los comandos de línea de comando como los controladores son esenciales para manipular y gestionar recursos del sistema de manera eficiente. Aquí, exploraremos en detalle cómo utilizar comandos dentro del framework Yii, brindándote la capacidad de automatizar tareas desde la terminal.

¿Qué es un command en Yii?

En Yii, un command es esencialmente un controlador diseñado para ser ejecutado desde la línea de comandos en lugar del ambiente web. Esto es útil para realizar operaciones que no necesitan una interfaz de usuario, como tareas de mantenimiento o automatización. Por defecto, la estructura es similar a la de un controlador web estándar, pero orientada a ejecutar funciones desde la terminal.

¿Cómo ejecutar comandos básicos?

Al instalar Yii, se proporciona un hello-controller que sirve como ejemplo básico de un command. Este controlador imprime un mensaje simple cuando se invoca desde la terminal. Aquí un ejemplo de cómo ejecutarlo:

php yii hello

Este comando imprimirá "Hello, world!" si no se proporciona otro mensaje. Puedes pasarle un parámetro para personalizar la salida.

Creando un nuevo controlador de comandos

El siguiente paso es crear tu propio controlador de comandos. Sigue estas instrucciones para crear un controlador simple que efectúe una suma de dos números dados:

  1. Crea el archivo: En la carpeta de commands, crea un archivo llamado platzi-controller.php.

  2. Define la clase:

namespace app\commands;

use yii\console\Controller;
use yii\console\ExitCode;

class PlatziController extends Controller
{
    public function actionSuma($a, $b = 17)
    {
        $result = $a + $b;
        printf("El resultado es: %.2f\n", $result);
        return ExitCode::OK;
    }
}

Este sencillo controlador suma dos números y devuelve el resultado. Además, si el segundo número no se proporciona, usa 17 como valor por defecto.

Ejecutando y probando comandos

Para ver el nuevo controlador en acción, ejecuta el siguiente comando en tu terminal:

php yii platzi/suma 10 5

Este comando sumará 10 y 5, devolviendo "El resultado es: 15.00".

Si omites el segundo número, así:

php yii platzi/suma 10

Se usará 17 como predeterminado, dando como resultado "El resultado es: 27.00".

Documentación básica en PHP

No olvides documentar tus comandos utilizando el sistema de documentación de PHP. Esto no solo aclara el propósito de tu código, sino que también es una buena práctica para proyectos a largo plazo. Puedes agregar comentarios como los siguientes a tus métodos:

/**
 * Suma los valores de los dos parámetros.
 * @param int $a Primer valor a sumar.
 * @param int|null $b Segundo valor a sumar (opcional).
 * @return int El resultado de la suma.
 */

¿Cómo manejar archivos CSV?

Vamos a dar un paso más allá creando una acción que lea un archivo CSV y lo imprima línea por línea. Uno de los usos potenciales de los comandos es gestionar grandes cantidades de datos de forma eficiente.

  1. Crea la función:
public function actionBooks($file)
{
    $handle = fopen($file, "r");
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        print_r($data);
    }
    fclose($handle);
    return ExitCode::OK;
}
  1. Ejecuta el comando:
php yii platzi/books path/to/yourfile.csv

Esta acción abrirá el archivo CSV especificado, leyéndolo línea por línea e imprimiendo cada entrada como un array.

Al aprender a usar comandos en Yii, puedes transformar potenciales tareas diarias en procesos automatizados eficientes, liberando tiempo para centrarte en la lógica más importante de tus aplicaciones. ¡Sigue explorando y construyendo!

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

![](https://static.platzi.com/media/user_upload/image-ca621f6a-68b1-43b1-8210-ad71aa118a26.jpg)
Dejo algunos ejemplos de Commands. exec: ```js ```shell\_exec: ```js ```system: ```js ```passthru: ```js ```