Cómo leer parámetros en un script de php



Cuando crees un programa de PHP que se ejecute desde la línea de comandos o consola, usualmente vas a necesitar recibir y procesar uno o más parámetros. Aquí voy a enseñarte algunas técnicas para poder hacerlo.

Nota: Si usas WAMP y no sabes como correr un archivo de php desde la consola, entonces puedes leer este articulo.

Una forma sencilla de trabajar con argumentos es consultando las variables predefinidas $argc y $argv.

$argc contiene la cantidad de parámetros que se han pasado al llamar al archivo de PHP. Mientras que $argv es un array con todos los parámetros que se han recibido, el primer elemento ( $argv[0] ) contiene el nombre del archivo de PHP que se ha ejecutado. Veamos ahora un ejemplo:

<?php
  echo "Ejecutar con el parametro: " . $argv[1];
 ?>

Al ejecutar este código, veremos una salida como esta:

Ejecutar un archivo de php con parámetros, desde la consola
Ejecutar un archivo de php con parámetros

Ahora veamos un ejemplo un poco más completo sobre cómo puedes trabajar con parámetros en los archivos PHP que ejecutas desde la línea de comandos. Crea un archivo con este código:

<?php

  if ($argc == 1)
  // siempre recibe al menos el nombre del archivo como parametro
  {
    die("Debe ingrear un parametro");
  }

  switch ($argv[1]) {
    case 'd':
      echo "Has seleccionado borrar todo el contenido";
      break;
    case 'a':
        // Si elige la opcion a (add) debe enviar tambien el nombre
        if ($argc == 2 || $argv[2] == "" )
        {
          echo "Error: No ingreso el nombre";
        }
        else
        {
          echo "Se agrego el item " . $argv[2];

        }
        break;
    default:
      echo "Parametro, no valido";
      echo "Las opciones posibles son d ó a";
      break;
  }
 ?>

Lee un poco el código anterior para comprenderlo y luego lo ejecutas para probarlo. Después intenta hacer algunos cambios para asegurarse que lo has entendido todo. Al ejecutarlo verás algo como esto (aquí hay varias corridas):

Ejemplos de como trabajar con parámetros al llamar archivos desde la consola de php
Varias ejecuciones del código anterior

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *