Temas > Programacion > Php > Parametros opcionales en php
Julio

Esta característica está presente tanto para programación
estructurada como para programación orientada a objetos. Un
parámetro es opcional si en la declaración del método le asignamos
un valor por defecto. Si luego llamamos al método sin enviarle dicho
valor tomará el que tiene por defecto.
Con un ejemplo se verá más claro: Crearemos nuevamente la clase
CabeceraDePagina que nos muestre un título alineado con un
determinado color de fuente y fondo.
pagina1.php
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
class CabeceraPagina {
   private $titulo;
   private $ubicacion;
   private $colorFuente;
   private $colorFondo;
   public function __construct($tit,$ubi=`center`,$colorFuen=`#ffffff`,
$colorFon=`#000000`)
   {
      $this->titulo=$tit;
      $this->ubicacion=$ubi;
      $this->colorFuente=$colorFuen;
      $this->colorFondo=$colorFon;
   }
   public function mostrar()
   {
      echo `<div
style="font-size:40px;text-align:`.$this->ubicacion.`;color:`;
      echo $this->colorFuente.`;background-color:`.$this->colorFondo.`">`;
      echo $this->titulo;
      echo `</div>`;
   }
}
$cabecera1=new CabeceraPagina(`El blog del programador`);
$cabecera1->mostrar();
echo `<br>`;
$cabecera2=new CabeceraPagina(`El blog del programador`,`left`);
$cabecera2->mostrar();
echo `<br>`;
$cabecera3=new CabeceraPagina(`El blog del programador`,`right`,
`#ff0000`);
$cabecera3->mostrar();
echo `<br>`;
$cabecera4=new CabeceraPagina(`El blog del
programador`,`right`,`#ff0000`,`#ffff00`);
$cabecera4->mostrar();
?>
</body>
</html>
En esta clase hemos planteado parámetros opcionales en el
constructor:
<?php
   public function __construct($tit,$ubi=`center`,$colorFuen=`#ffffff`,
$colorFon=`#000000`)
   {
      $this->titulo=$tit;
      $this->ubicacion=$ubi;
      $this->colorFuente=$colorFuen;
      $this->colorFondo=$colorFon;
   }
?>
El constructor tiene 4 parámetros, uno obligatorio y tres opcionales,
luego cuando lo llamemos al crear un objeto de esta clase lo
podemos hacer de la siguiente forma: 
$cabecera1=new CabeceraPagina(`El blog del programador`);
En este primer caso el parámetro $tit recibe el string `El blog del
programador` y los siguientes tres parámetros se inicializan con los
valores por defecto, es decir al atributo $ubicacion se carga con el
valor por defecto del parámetro que es `center`. Lo mismo ocurre con
los otros dos parámetros del constructor.
Luego si llamamos al constructor con la siguiente sintaxis:
$cabecera2=new CabeceraPagina(`El blog del programador`,`left`);
el parámetro $ubi recibe el string `left` y este valor remplaza al valor
por defecto que es `center`.
También podemos llamar al constructor con las siguientes sintaxis:
$cabecera3=new CabeceraPagina(`El blog del programador`,`right`,
`#ff0000`);
.....
$cabecera4=new CabeceraPagina(`El blog del
programador`,`right`,`#ff0000`,`#ffff00`);
Veamos cuales son las restricciones que debemos tener en cuenta
cuando utilizamos parámetros opcionales:
No podemos definir un parámetro opcional y seguidamente un
parámetro obligatorio. Es decir los parámetros opcionales se deben
ubicar a la derecha en la declaración del método.
        Cuando llamamos al método no podemos alternar indicando
algunos valores a los parámetros opcionales y otros no. Es decir que
debemos pasar valores a los parámetros opcionales teniendo en cuenta
la dirección de izquierda a derecha en cuanto a la ubicación de
parámetros.
Para que quede más claro no podemos no indicar el parámetro $ubi y sí el
parámetro $colorFuen (que se encuentra a la derecha).
        Es decir debemos planificar muy bien que orden definir los
parámetros opcionales para que luego sea cómodo el uso de los mismos.
Podemos definir parámetros opcionales tanto para el constructor como
para cualquier otro método de la clase. Los parámetros opcionales nos
permiten desarrollar clases que sean más flexibles en el momento que
definimos objetos de las mismas.













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
    123
45678910
11121314151617
181920 21222324
252627282930 

Jueves 21 de Noviembre 2024
Semana 47

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal