Este es un ejemplo más del método __construct() de una class, enfatizando que este sirve para ejecut

Este es un ejemplo más del método __construct() de una class, enfatizando que este sirve para ejecutar un determinado comportamiento o acción luego en el momento en que una instancia de la class sea realizada, siendo apropiado este método para cualquier inicialización que el objeto pueda necesitar antes de ser usado.

  • Lo primero que haremos será declarar una class llamada Factorial, la cual como su nombre lo dice nos calculará el factorial de un numero entero, veamos el código a continuación:

<?php
class Factorial
{

}

  • Como segundo paso, pues vamos a declarar la propiedad $resultado con la propiedad de visibilidad private, lo que hará que solo se pueda acceder a los miembros de esta propiedad desde la clase que la ha definido, osea desde class Factorial
    • le damos el valor de 1, el cual será el menor valor y el valor inicial que podrá tomar el resultado y que se mostrará como resultado final en pantalla.

<?php
class Factorial
{
private $resultado = 1; //propiedad private $resultado que comienza con 1
private $numero;//propiedad private $numero

    • luego hemos declarado la propiedad $numero, con la propiedad de visibilidad private también, al cual no le damos ningún valor ya que este será el número del cual queremos saber el valor de su factorial, ok?
  • Como tercer paso vamos a definir nuestro método __construct(), el cual tendrá como parámetro a la propiedad $numero, este método __construct(), realizará todo el proceso lógico de conseguir el factorial de nuestro $numero,
    • Este método lo construiremos utilizando el loop de PHP tan conocido que es el for,
    • Entonces, hacemos que el método __construct() accese a nuestra propiedad $numero, para luego usar el loop for que hará el proceso de obtener uno a uno los valores que serán posteriormente multiplicados entre sí (Ejemplo, factorial de 5=5x4x3x2x1), 
      • luego accedemos a nuestra propiedad $resultado la cual será multiplicada por cada uno de los valores elaborados por el loop for

    <?php
    class Factorial
    {
    private $resultado = 1; //atributo privado $resultado que comienza con 1
    private $numero;//atributo privado $numero

    public function __construct($numero)
    {
    $this->numero = $numero;
    for ($i = 2; $i <= $numero; $i++)
    {
    $this->resultado *= $i;
    }
    }

    • Como cuarto paso, crearemos un método que realizará el proceso de mostrar el numero y su factorial, al cual lo llamaremos de método mostrarResultado()
      • veamos:

    <?php
    class Factorial
    {
    private $resultado = 1; //atributo privado $resultado que comienza con 1
    private $numero;//atributo privado $numero

    public function __construct($numero)
    {
    $this->numero = $numero;//accediendo a la propiedad $numero
    for ($i = 2; $i <= $numero; $i++)
    {
    $this->resultado *= $i;//accediendo a la propiedad $resultado
    }
    }

    public function mostrarResultado()
    {
    echo "El Factorial de {$this->numero} es {$this->resultado}. ";
    }
    }

      •   Como podemos notar en el código anterior hemos hecho uso de llaves para encerrar el acceso a la propiedad $numero y a la propiedad $resultado, no dejemos fuera a esa sintaxis;
    • Ahora para terminar y hacer correr nuestro código, pues instanciaremos nuestra class Factorial desde nuestro objeto al cual lo llamaremos de $fact,
      • luego para que se muestre en pantalla correctamente con el texto correspondiente y hagamos entendible lo que hemos codificado, llamaremos desde el $fact al método mostrarResultado,
        • veamos entonces como quedaría nuestro código al final, colocandole el valor de 3:

    <?php
    class Factorial
    {
    private $resultado = 1; //atributo privado $resultado que comienza con 1
    private $numero;//atributo privado $numero

    public function __construct($numero)
    {
    $this->numero = $numero;//accediendo a la propiedad $numero
    for ($i = 2; $i <= $numero; $i++)
    {
    $this->resultado *= $i;//accediendo a la propiedad $resultado
    }
    }

    public function mostrarResultado()
    {
    echo "El Factorial de {$this->numero} es {$this->resultado}. ";
    }
    }

    $fact = new Factorial(3);
    $fact->mostrarResultado();

    • Como podemos notar he puesto el valor de 3 (ustedes pueden cambiarlo para obtener algún otro factorial), 
      • al instanciar la class Factorial, lo que se hará que inmediatamente será el uso de este valor ("3") en el método __construct(), dandonos como respuesta: "El Factorial de 3 = 3x2x1 que es 6". 
      • Hagamos correr nuestro código en el navegador:
    • Con este ejemplo dejo creo yo más clara la idea de lo que es este Método Mágico de class llamado __construct()  y como siempre les invito a generar más código utilizando nombres diferentes de class, de objetos y nuevos valores para cada propiedad, buena suerte a todos y dejen sus comentários si tienen alguna duda!

    Publique su comentário!: