Funciones y clases en PHP

 

Funciones

Una función es un fragmento de código que puede ser llamado en tiempo de ejecución y permite evitar repetir líneas de código al definirse una vez y llamarse cuantas veces sea necesario. Las funciones permiten parámetros de entrada y a su vez, datos de salida.

Los nombres de las funciones y de las clases tienes las mismas reglas que las variables, debe empezar con una letra o guión bajo ( _ ) y puede contener números siempre y cuando no sean el primer carácter.


function sumar($num1, $num2){

  $total = $num1 + $num2;

  return $total;

}

Los argumentos de las funciones pueden tener valores asignados predeterminadamente en el caso de que en su llamado no se indique valor alguno, por lo que no es necesario u obligatorio realizar el llamado de la función colocando todos los valores de los argumentos, pero solo en el caso de que no hay más argumentos a la derecha y que sí lleven argmentos.


function sumar ($var1, $var2 = 1){

  $total = $var1 + $var2;

  return $total;

}

echo sumar(1, 8); // 9

echo sumar(1); //2

 

Funciones internas de PHP

PHP tiene funciones internas del sistema cuyos nombres debemos evitar usar en funciones definidas por nosotros.

Para saber todas las funciones internas de PHP podemos hacerlo desde la página oficial de la documentación de éste lenguaje de programación.

http://php.net/manual/es/indexes.functions.php

 

Clases

En la programación orientada a objetos se manejan conceptos que tratan de conceptualizar los elementos de la vida real al poder indicar propiedades, métodos y valores de los objetos, así como la herencia de los mismos.

Definimos una clase genérica que refleja de manera sencilla a un animal, el cual está vivo (es una propiedad) y puede comer (es un método)


class animal {

  var $vive = true;

  function comer(){

    echo 'Estoy comiendo';

  }

  function estaVivo(){

    return ($this->vive) ? true : false;

  }

}

Teniendo una clase genérica podemos crear una más específica que herede las propiedades y métodos de la clase padre


class gato extends animal {

  var $patas = 4;

  var $pelo = true;

  var $dormir = 16; //horas

  function maullar(){

    echo 'Miau';

  }

}

Aquí se definió la clase gato que hereda las propiedades de la clase animal y además define sus propios métodos y propiedades.


$gato = new gato();

if ($gato->estaVivo())

  $gato->maullar(); //miau

else

  echo 'Lo sentimos, está muerto';

 

 

Clases estáticas

Las clases estáticas permiten la posibilidad de usarse sin la necesidad de ser instanciadas,

Vemos el mismo ejemplo anterior pero como clase estática


class animal {

    public static $vive = true;

    public static function comer(){

        echo 'Estoy comiendo';

  }

  public static function estaVivo(){

    return (self::$vive) ? true : false;

  }

}

Teniendo una clase genérica podemos crear una más específica que herede las propiedades y métodos de la clase padre


class gato extends animal {

  public static $patas = 4;

  public static $pelo = true;

  public static $dormir = 16; //horas

  public static function maullar(){

    echo 'Miau';

  }

}

Aquí se definió la clase gato que hereda las propiedades de la clase animal y además define sus propios métodos y propiedades.


if (gato::estaVivo())

  gato::maullar(); //miau

else

  echo 'Lo sentimos, está muerto';

Author: angelinux

Desarrollador de páginas web desde el año 2000 y con experiencia en programación de sistemas para empresas desde el 2008; cofundador de CONSoluciones; autor del blog de software libre “Angelinux-slack”; docente en maestría en UPAV y fundador de la distribución Linux Falco que está en desarrollo para la Universidad Veracruzana.
Además, ponente, organizador de congreso, laborista social, impartidor de cursos de programación y servidores Linux, webmaster, y ex invitado en programa de televisión.

Deja un comentario