Operador resolución de ámbito (::)

<?php

class ClaseSencilla {

// Declaración de una propiedad
 public $var = 'un valor predeterminado';
 static $nombre = "Clase";

// Declaración de un método
 public function mostrarVar() {
 echo $this->var;
 }

public function __construct($var = "Instancia por defecto") {
 $this->var = $var;
 }

public function __destruct() {
 //Si hay algo que destruir
 }

static function hola() {
 echo "Hola que tal";
 }

}

ClaseSencilla::hola();

echo ClaseSencilla::$nombre;

class MyClass {

protected function myFunc() {
 echo "MyClass::myFunc()\n";
 }

}

class OtherClass extends MyClass {

// Sobrescritura de definición parent
 public function myFunc() {
 // Pero todavía se puede llamar a la función parent
 parent::myFunc();
 echo "OtherClass::myFunc()\n";
 }

}

$class = new OtherClass();
 $class->myFunc();
 ?>

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos