You are on page 1of 7

Qu es PHP?

PHP es un lenguaje de cdigo abierto muy popular especialmente adecuado para


el desarrollo web y que puede ser incrustado en HTML.
Bien, pero qu significa realmente? Un ejemplo nos aclarar las cosas:
Ejemplo #1 Un ejemplo introductorio
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo</title>
</head>
<body>

<?php
echo "Hola, soy un script de PHP!";
?>

</body>
</html>
En lugar de usar muchos comandos para abrir HTML (como en C o en Perl), las
pginas de PHP contienen HTML con cdigo incrustado que hace "algo" (en este
caso, mostrar "Hola, soy un script de PHP!). El cdigo de PHP est encerrado
entre las etiquetas especiales de comienzo y final <? php y?> que permiten entrar
y salir del "modo PHP".
Lo que distingue a PHP de algo como JavaScript del lado del cliente es que el
cdigo es ejecutado en el servidor, generando HTML y envindolo al cliente. El
cliente recibir el resultado de ejecutar el script, aunque no se sabra el cdigo
subyacente que era. El servidor web puede ser incluso configurado para que
procese todos los ficheros HTML con PHP, por lo que no hay manera de que los
usuarios puedan saber qu se tiene debajo de la manga.
Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero
a su vez ofrece muchas caractersticas avanzadas para los programadores
profesionales. No sienta miedo de leer la larga lista de caractersticas de PHP. En
unas pocas horas podr empezar a escribir sus primeros scripts.
PHP es un lenguaje de programacin de uso general de cdigo del lado del
servidor originalmente diseado para el desarrollo web de contenido dinmico.
Fue uno de los primeros lenguajes de programacin del lado del servidor que se
podan incorporar directamente en el documento HTML en lugar de llamar a un
archivo externo que procese los datos. Puede ser usado en la mayora de los
servidores web al igual que en casi todos los sistemas operativos y plataformas sin
ningn costo.













Estructura Bsica de PHP


class
La definicin bsica de clases comienza con la palabra clave class, seguido por un
nombre de clase, continuado por un par de llaves que encierran las definiciones de
las propiedades y mtodos pertenecientes a la clase.
El nombre de clase puede ser cualquier etiqueta vlida que no sea una palabra
reservada de PHP. Un nombre vlido de clase comienza con una letra o un guin
bajo, seguido de la cantidad de letras, nmeros o guiones bajos que sea. Como
una expresin regular, se expresara de la siguiente forma: ^[a-zA-Z_\x7f-\xff][a-
zA-Z0-9_\x7f-\xff]*$.
Una clase puede tener sus propias constantes, variables (llamadas
"propiedades"), y funciones (llamadas "mtodos").
Ejemplo #1 Definicin simple de una clase
<?php
class SimpleClass
{
// Declaracin de la propiedad
public $var = 'a default value';

// Declaracin del mtodo
public function displayVar() {
echo $this->var;
}
}
?>
La pseudo-variable $this est disponible cuando un mtodo es invocado dentro del
contexto de un objeto.$this es una referencia del objeto que invoca (usualmente el
objeto al que el mtodo pertenece, pero posiblemente sea otro objeto, si el mtodo
es llamado estticamente desde el contexto de un objeto secundario).
Ejemplo #2 Algunos ejemplo de la pseudo-variable $this
<?php
class A
{
function foo()
{
if (isset($this)) {
echo '$this est definida (';
echo get_class($this);
echo ")\n";
} else {
echo "\$this no est definida.\n";
}
}
}

class B
{
function bar()
{
// Nota: la siguiente lnea arrojar un Warning si E_STRICT est habilitada.
A::foo();
}
}

$a = new A();
$a->foo();

// Nota: la siguiente lnea arrojar un Warning si E_STRICT est habilitada.
A::foo();
$b = new B();
$b->bar();

// Nota: la siguiente lnea arrojar un Warning si E_STRICT est habilitada.
B::bar();
?>
El resultado del ejemplo sera:
$this est definida (A)
$this no est definida.
$this est definida (B)
$this no est definida.
new
Para crear una instancia de una clase, la palabra clave new debe ser usada. Un
objeto siempre se crear a menos que el objeto tenga un constructor que arroje
una excepcin en caso de error. Las clases deberan ser definidas antes de la
instanciacin (y en algunos casos esto es un requerimiento).
Si un string que contiene el nombre de una clase se usa con new, una nueva
instancia de esa clase ser creada. Si la clase est en un espacio de nombres, su
nombre completo debe ser usado cuando se hace esto.
Ejemplo #3 Creacin de una instancia
<?php
$instance = new SimpleClass();

// Esto tambin se puede hacer con variables:
$className = 'Foo';
$instance = new $className(); // Foo()
?>
En el contexto de una clase, es posible crear un nuevo objeto con new self y new
parent.
Cuando se asigna una instancia de una clase ya creada a una nueva variable,
sta ltima acceder a la misma instancia como al objeto que le fue asignado.
Esta conducta es la misma cuando se pasan instancias a una funcin. Una copia
de un objeto ya creado se puede lograr a travs de la clonacin de la misma.
Ejemplo #4 Asignacin de objetos
<?php

$instance = new SimpleClass();

$assigned = $instance;
$reference =& $instance;

$instance->var = '$assigned tendr este valor';

$instance = null; // $instance y $reference se transforman en null

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>
El resultado del ejemplo sera:
NULL
NULL
object(SimpleClass)#1 (1) {
["var"]=>
string(30) "$assigned tendr este valor"
}
PHP 5.3.0 introdujo un par de nuevas maneras para crear instancias de un objeto:
Ejemplo #5 Creando nuevos objetos
<?php
class Test
{
static public function getNew()
{
return new static;
}
}

class Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>
El resultado del ejemplo sera:
bool(true)
bool(true)
bool(true)

You might also like