Skip to content

Instantly share code, notes, and snippets.

View gorkamu's full-sized avatar
🏠
Working from home

0xGorkamu gorkamu

🏠
Working from home
  • Zaragoza
View GitHub Profile
@gorkamu
gorkamu / Polimorfismo.php
Created November 9, 2016 12:58
Ejemplo de polimorfismo
<?php
abstract class Animal
{
abstract public function moverse();
}
class Gorrino extends Animal
{
public function moverse() {
@gorkamu
gorkamu / IterfaceEjemplo.php
Created November 9, 2016 18:48
Ejemplo de interface
<?php
interface iTemplate
{
public function setVariable($name, $var);
public function getHtml($template);
}
class Template implements iTemplate
@gorkamu
gorkamu / ClaseAnonima.php
Created November 19, 2016 09:00
Ejemplo 1 de clase anónima
<?php
class Util
{
private $logger;
public function setLogger(Logger $logger) {
$this->logger = $logger;
}
}
@gorkamu
gorkamu / ClaseAnonima2.php
Created November 19, 2016 09:07
Ejemplo 2 de clase anónima
<?php
class Util {}
interface Serializable {}
var_dump(new class(10) extends Util implements Serializable {
private $num;
public function __construct($num)
{
@gorkamu
gorkamu / ClaseAnonima3.php
Created November 19, 2016 09:15
Ejemplo de clase anónima
<?php
class Externa
{
private $prop = 1;
protected $prop2 = 2;
protected function func1() {
return 3;
}
@gorkamu
gorkamu / Autocarga.php
Created November 20, 2016 10:36
Ejemplo de autocarga de clases en PHP
<?php
spl_autoload_register(function ($nombre_clase) {
include $nombre_clase . '.php';
});
$gorkamu = new Gorkamu();
$ukelele = new Ukelele();
@gorkamu
gorkamu / Namespaces.php
Created November 20, 2016 11:27
Ejemplo de namespaces en PHP
<?php
namespace Aplicacion\Libreria\Components as Componentes {
const CONECTAR_OK = 1;
class Conexión { /* ... */ }
function conectar() { /* ... */ }
}
namespace Aplicacion\Recursos\Utils {
const CONECTAR_OK = 1;
@gorkamu
gorkamu / EjemploTraitReinoAnimal.php
Created November 27, 2016 11:30
Ejemplo de uso de un trait en el mundo animal
<?php
trait movimientos {
function saltar() { /* ... */ }
function correr() { /* ... */ }
function nadar() { /* ... */ }
}
class Gato extends Animal {
use movimientos;
@gorkamu
gorkamu / EjemploOrdenProcedenciaTrait.php
Created November 27, 2016 11:44
Ejemplo del orden de procedencia en los traits
<?php
class Animal {
public function correr() {
echo 'Estoy corriendo ';
}
}
trait movimientos {
public function correr() {
@gorkamu
gorkamu / EjemploTrait2.php
Created November 27, 2016 12:08
Ejemplo del cambio de visibilidad de un método desde un trait
<?php
trait HolaMundo {
public function decirHola() {
echo 'Hola Mundo!';
}
}
// Cambiamos visibilidad de decirHola
class MiClase1 {