Diferencia entre revisiones de «Traits»

De Wiki Proyectos Beta
Ir a la navegación Ir a la búsqueda
Línea 30: Línea 30:


  <?php
  <?php
  trait message1 {
  trait message1 {
    public function msg1() {
    public function msg1() {
      echo "Proyectos Beta is fun!!!<br/>";
      echo "Proyectos Beta is fun!!!";
    }
    }
  }
  }
   
   
  trait message2 {
  trait message2 {
    public function msg2() {
    public function msg2() {
      echo "Proyectos Beta is the best!<br/>";
      echo "Proyectos Beta is the best!";
    }
    }
  }
  }
   
   
  class Welcome {
  class Welcome {
    use message1;
    use message1;
  }
  }
   
   
  class Welcome2 {
  class Welcome2 {
    use message1, message2;
    use message1, message2;
  }
  }
   
   
  $object = new Welcome();
  $object = new Welcome();
  $object->msg1();
  $object->msg1();
  echo "<br/>";
  echo "\n\n";
   
   
  $object2 = new Welcome2();
  $object2 = new Welcome2();
  $object2->msg1();
  $object2->msg1();
  $object2->msg2();
  $object2->msg2();

Revisión del 05:12 22 ago 2022

General

Documentación oficial de traits: ES

Documentación oficial de traits: EN

Ejemplos

Ejemplo 1

Un solo trait se usa.

<?php
  trait message {
    public function print() {
      echo "Proyectos Beta is fun!!!";
    }
  }

  class Welcome {
    use message;
  }

  $object = new Welcome();
  $object->print();

Ejemplo 2

Se utiliza múltiples traits.

<?php
 trait message1 {
   public function msg1() {
     echo "Proyectos Beta is fun!!!";
   }
 }

 trait message2 {
   public function msg2() {
     echo "Proyectos Beta is the best!";
   }
 }

 class Welcome {
   use message1;
 }

 class Welcome2 {
   use message1, message2;
 }

 $object = new Welcome();
 $object->msg1();
 echo "\n\n";

 $object2 = new Welcome2();
 $object2->msg1();
 $object2->msg2();