Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo:
<?php
// abrir este archivo
$fp = fopen(__FILE__, 'r');
// buscar el puntero de archivo a la información
fseek($fp, __COMPILER_HALT_OFFSET__);
// e imprimirlo
var_dump(stream_get_contents($fp));
// el final de la ejecución del script
__halt_compiler(); la información de instalación (p.ej. tar, gz, PHP,
etc.)
1
Palabra: abstract
Significado: abstracción de clases
Función: Cuando se hereda una clase abstracta, todos los métodos definidos como
abstractos en la declaración de la clase madre deben ser definidos en la clase hija; además,
estos métodos deben ser definidos con la misma (o con una menos restrictiva) visibilidad.
Ejemplo:
<?php
abstract class ClaseAbstracta
{
// Forzar la extensión de clase para definir este método
abstract protected function getValor();
abstract protected function valorPrefijo($prefijo);
// Método común
public function imprimir() {
print $this->getValor() . "\n";
}
}
class ClaseConcreta1 extends ClaseAbstracta
{
protected function getValor() {
return "ClaseConcreta1";
}
public function valorPrefijo($prefijo) {
return "{$prefijo}ClaseConcreta1";
}
}
class ClaseConcreta2 extends ClaseAbstracta
{
public function getValor() {
return "ClaseConcreta2";
}
public function valorPrefijo($prefijo) {
return "{$prefijo}ClaseConcreta2";
}
}
$clase1 = new ClaseConcreta1;
$clase1->imprimir();
echo $clase1->valorPrefijo('FOO_') ."\n";
$clase2 = new ClaseConcreta2;
$clase2->imprimir();
echo $clase2->valorPrefijo('FOO_') ."\n";
?>
2
Palabra: and
Significado: y
Función: La razón para tener las dos variaciones diferentes de los operadores "and" y "or" es que
ellos operan con precedencias diferentes. (Ver Precedencia de operadores.)
Ejemplo:
<?php
// --------------------
// foo() nunca será llamado ya que los operadores están en cortocircui
to
$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());
// --------------------
// "||" tiene una precedencia mayor que "or"
// El resultado de la expresión (false || true) es asignado a $e
// Actúa como: ($e = (false || true))
$e = false || true;
// La constante false es asignada a $f antes de que suceda la operació
n "or"
// Actúa como: (($f = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// "&&" tiene una precedencia mayor que "and"
// El resultado de la expresión (true && false) es asignado a $g
// Actúa como: ($g = (true && false))
$g = true && false;
// La constante true es asignada a $h antes de que suceda la operación
"and"
// Actúa como: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
?>
3
Palabra: array()
Significado: Crea un array
Función: Crea un array. Leer la sección el tipo array para más información sobre que es un
array.
Ejemplo:
<?php
$fruits = array (
"frutas" => array("a" => "naranja", "b" => "plátano", "c" => "man
zana"),
"números" => array(1, 2, 3, 4, 5, 6),
"hoyos" => array("primero", 5 => "segundo", "tercero")
);
?>
Palabra: Addcslashes
Significado: Escapa una cadena al estilo de C
Función: Devuelve un string con barras invertidas antes de los caracteres que aparecen en el
parámetro charlist
Ejemplo:
4
Palabra: as
Significado: foreach
Función: proporciona un modo sencillo de iterar sobre arrays. foreach funciona sólo sobre
arrays y objetos, y emitirá un error al intentar usarlo con una variable de un tipo diferente de datos o
una variable no inicializada. Existen dos sintaxis
Ejemplo:
<?php
$array = array(1, 2, 3, 4);
foreach ($array as &$valor) {
$valor = $valor * 2;
}
// $array ahora es array(2, 4, 6, 8)
unset($valor); // rompe la referencia con el último elemento
?>
5
Palabra: break
Significado: finalizar
Ejemplo:
<?php
$arr = array('uno', 'dos', 'tres', 'cuatro', 'pare', 'cinco');
while (list(, $val) = each($arr)) {
if ($val == 'pare') {
break; /* Se puede también escribir 'break 1;' aquí. */
}
echo "$val<br />\n";
}
/* Utilizar el argumento opcional. */
$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "En 5<br />\n";
break 1; /* Sólo sale del switch. */
case 10:
echo "En 10; saliendo<br />\n";
break 2; /* Sale del switch y del while. */
default:
break;
}
}
?>
6
Palabra: callable (a partir de PHP 5.4)
Significado: llamadas de retorno
Ejemplo:
<?php
// Un ejemplo de función de llamada de retorno
function mi_función_de_llamada_de_retorno() {
echo '¡hola mundo!';
}
// Un ejemplo de método de llamada de retorno
class MiClase {
static function miMétodoDeLlamadaDeRetorno() {
echo '¡Hola Mundo!';
}
}
// Tipo 1: Llamada de retorno simple
call_user_func('mi_función_de_llamada_de_retorno');
// Tipo 2: Llamada a un método de clase estático
call_user_func(array('MiClase', 'miMétodoDeLlamadaDeRetorno'));
// Tipo 3: Llamada al método de un objeto
$obj = new MiClase();
call_user_func(array($obj, 'miMétodoDeLlamadaDeRetorno'));
// Tipo 4: Llamada a un método de clase estático (A partir de PHP 5.2.3)
call_user_func('MiClase::miMétodoDeLlamadaDeRetorno');
// Tipo 5: Llamada a un método de clase estático relativo (A partir de PHP 5.3.0)
class A {
public static function quién() {
echo "A\n";
}
}
class B extends A {
public static function quién() {
echo "B\n";
}
}
call_user_func(array('B', 'parent::quién')); // A/
// Tipe 6: Los objetos que implementan __invoke se pueden emplear como retrollama
das (desde PHP 5.3)
class C {
public function __invoke($nombre) {
echo 'Hola ', $nombre, "\n";
}
}
$c = new C();
call_user_func($c, 'PHP!');
?>
7
Palabra: case
Significado:
Ejemplo:
<?php
if ($i == 0) {
echo "i es igual a 0";
} elseif ($i == 1) {
echo "i es igual a 1";
} elseif ($i == 2) {
echo "i es igual a 2";
}
switch ($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
}
?>
8
Palabra: catch
Significado:
Ejemplo:
<?php
function inverso($x) {
if (!$x) {
throw new Exception('División por cero.');
}
return 1/$x;
}
try {
echo inverso(5) . "\n";
echo inverso(0) . "\n";
} catch (Exception $e) {
echo 'Excepción capturada: ', $e->getMessage(), "\n";
}
// Continuar la ejecución
echo 'Hola Mundo\n';
?>
9
Palabra: class
Ejemplo:
<?php
class ClaseSencilla
{
// Declaración de una propiedad
public $var = 'un valor predeterminado';
// Declaración de un método
public function mostrarVar() {
echo $this->var;
}
}
?>
10
Palabra: clone
Significado: clonacion
Ejemplo:
<?php
class SubObject
{
static $instances = 0;
public $instance;
public function __construct() {
$this->instance = ++self::$instances;
}
public function __clone() {
$this->instance = ++self::$instances;
}
}
class MyCloneable
{
public $object1;
public $object2;
function __clone()
{
// Forzamos la copia de this->object, si no
// hará referencia al mismo objeto.
$this->object1 = clone $this->object1;
}
}
$obj = new MyCloneable();
$obj->object1 = new SubObject();
$obj->object2 = new SubObject();
$obj2 = clone $obj;
print("Objeto Original:\n");
print_r($obj);
print("Objeto Clonado:\n");
print_r($obj2);
?>
11
Palabra: const
Ejemplo:
<?php
class MiClase
{
const CONSTANTE = 'valor constante';
function mostrarConstante() {
echo self::CONSTANTE . "\n";
}
}
echo MiClase::CONSTANTE . "\n";
$nombreclase = "MiClase";
echo $nombreclase::CONSTANTE . "\n"; // A partir de PHP 5.3.0
$clase = new MiClase();
$clase->mostrarConstante();
echo $clase::CONSTANTE."\n"; // A partir de PHP 5.3.0
?>
12
Palabra: continue
Función: continue se utiliza dentro de las estructuras iterativas para saltar el resto de la
iteración actual del bucle y continuar la ejecución en la evaluación de la condición, para
luego comenzar la siguiente iteración.
Ejemplo:
<?php
while (list($clave, $valor) = each($arr)) {
if (!($clave % 2)) { // saltar los miembros pares
continue;
}
hacer_algo($valor);
}
$i = 0;
while ($i++ < 5) {
echo "Exterior<br />\n";
while (1) {
echo "Medio<br />\n";
while (1) {
echo "Interior<br />\n";
continue 3;
}
echo "Esto nunca se imprimirá.<br />\n";
}
echo "Ni esto tampoco.<br />\n";
}
?>
13
Palabra: declare
Ejemplo:
<?php
// Esto es válido:
declare(ticks=1);
// Esto no es válido:
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
?>
14
Palabra: default
Ejemplo:
<?php
if ($i == 0) {
echo "i es igual a 0";
} elseif ($i == 1) {
echo "i es igual a 1";
} elseif ($i == 2) {
echo "i es igual a 2";
}
switch ($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
}
?>
15
Palabra: die
Ejemplo:
<?php
fwrite(STDERR, "An error occurred.\n");
exit(1); // A response code other than 0 is a failure
?>
16
Palabra: do
Significado:
Ejemplo:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
17
Palabra: echo
Función: Muestra todos los parámetros. No se pospone ningua nueva línea adicional.
Ejemplo:
<?php
echo "Hola mundo";
echo "Esto abarca
multiple líneas. Los saltos de línea también
se mostrarán";
echo "Esto abarca\nmúltiples líneas. Los saltos de línea también\nse mostrará
n.";
echo "Para escapar caracteres se hace \"así\".";
// Se pueden usar variables dentro de una sentencia echo
$foo = "foobar";
$bar = "barbaz";
echo "foo es $foo"; // foo es foobar
// También se pueden usar arrays
$baz = array("valor" => "foo");
echo "Esto es {$baz['valor']} !"; // Esto es foo !
// Si se utilizan comillas simples, se mostrará el nombre de la variable, no
su valor
echo 'foo es $foo'; // foo es $foo
// Si no usan otros caracteres, se puede utilizar echo para mostrar el valor
de las variables.
echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz
// Las cadenas pueden ser pasadas individualmente como varios argumentos o
// concatenadas como un único argumento
echo 'Esta ', 'cadena ', 'está ', 'hecha ', 'con múltiple parámetros.', chr(1
0);
echo 'Esta ' . 'cadena ' . 'está ' . 'hecha ' . 'con concatenación.' . "\n";
echo <<<END
Aquí se utiliza la sintaxis de "here document" para mostrar
múltiples líneas con interpolación de $variable. Nótese
que el finalizador de here document debe aparecer en una
línea con solamente un punto y coma. ¡Nada de espacios extra!
END;
// Ya que echo no se comporta como una función, el siguiente código no es vál
ido.
($variable) ? echo 'true' : echo 'false';
// Sin embargo, el siguiente código funcionará:
($variable) ? print 'true' : print 'false'; // print también es una construcc
ión, pero
// se comporta como una función,
por lo que
// puede usarse en este contexto.
echo $variable ? 'true': 'false'; // dando la vuelta a la declaración
?>
18
Palabra: else
Significado: sino
Función: Con frecuencia se desea ejecutar una sentencia si una determinada condición se
cumple y una sentencia diferente si la condición no se cumple. Esto es para lo que
sirve else. El else extiende una sentencia if para ejecutar una sentencia en caso que la
expresión en la sentencia if se evalúe como FALSE. Por ejemplo, el siguiente código deberá
mostrar a es mayor que b si $a es mayor que $b y a NO es mayor que b en el caso
contrario:
Ejemplo:
<?php
if ($a > $b) {
echo "a es mayor que b";
} else {
echo "a NO es mayor que b";
}
?>
19
Palabra: elseif
Significado: de lo contrario
Función: elseif, como su nombre lo sugiere, es una combinación de if y else. Del mismo modo
que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que la
expresión if original se evalúe como FALSE. Sin embargo, a diferencia de else, esa expresión
alternativa sólo se ejecutará si la expresión condicional del elseif se evalúa como TRUE. Por
ejemplo, el siguiente código debe mostrar a es mayor que b, a es igual que b o a es menor que b:
Ejemplo:
<?php
if ($a > $b) {
echo "a es mayor que b";
} elseif ($a == $b) {
echo "a es igual que b";
} else {
echo "a es menor que b";
}
?>
20
Palabra: empty
Función: Determina si una variable es considerada vacía. Una variable se considera vacía
si no existe o si su valor es igual a FALSE. empty() no genera una advertencia si la variable
no existe.
Ejemplo:
<?php
$var = 0;
// Se evalúa a true ya que $var está vacia
if (empty($var)) {
echo '$var es o bien 0, vacía, o no se encuentra definida en absol
uto';
}
// Se evalúa como true ya que $var está definida
if (isset($var)) {
echo '$var está definida a pesar que está vacía';
}
?>
21
Palabra: enddeclare
Significado: similar a declare
Función: El constructor declare es usado para fijar directivas de ejecución para un bloque de
código. La sintaxis de declare es similar a la sintaxis de otros constructores de control de flujo
Ejemplo:
<?php
// Esto es válido:
declare(ticks=1);
// Esto no es válido:
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
?>
22
Palabra: endfor
Significado:
Función: PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control, a
saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis alternativa es
cambiar la llave de apertura por dos puntos (:) y la llave de cierre
por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.
Ejemplo: <?php
if ($a == 5):
echo "a igual 5";
echo "...";
elseif ($a == 6):
echo "a igual 6";
echo "!!!";
else:
echo "a no es 5 ni 6";
endif;
?>
23
Palabra: endforeach
Significado:
Función: PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control, a
saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis alternativa es
cambiar la llave de apertura por dos puntos (:) y la llave de cierre
por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.
Ejemplo:
<?php
if ($a == 5):
echo "a igual 5";
echo "...";
elseif ($a == 6):
echo "a igual 6";
echo "!!!";
else:
echo "a no es 5 ni 6";
endif;
?>
24
Palabra: endif
Significado:
Función: PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control, a
saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis alternativa es
cambiar la llave de apertura por dos puntos (:) y la llave de cierre
por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.
Ejemplo:
<?php
if ($a == 5):
echo "a igual 5";
echo "...";
elseif ($a == 6):
echo "a igual 6";
echo "!!!";
else:
echo "a no es 5 ni 6";
endif;
?>
25
Palabra: endswitch
Significado:
Función: PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control, a
saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis alternativa es
cambiar la llave de apertura por dos puntos (:) y la llave de cierre
por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.
Ejemplo:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
26
Palabra: endwhile
Significado:
Función: PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control, a
saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis
alternativa es cambiar la llave de apertura por dos puntos (:) y la llave de cierre
por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.
Ejemplo:
<?php
$foo = 'foo';
$bar = 'bar';
if (isset($bar)):
if (isset($foo)): echo "Both are set."; endif;
elseif (isset($foo)):
echo "Only 'foo' is set.";
else:
echo "Only 'bar' is set.";
endif;
27
Palabra: eval()
Significado: Evaluar una cadena como código de PHP
Ejemplo:
<?php
$cadena = 'taza';
$nombre = 'café';
$str = 'Esto es una $cadena con mi $nombre en ella.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
28
Palabra: exit()
Ejemplo:
<?php
$nombre_archivo = '/ruta/hacia/archivo-datos';
$archivo = fopen($nombre_archivo, 'r')
or exit("no se pudo abrir el archivo ($nombre_archivo)");
?>
29
Palabra: extends
Significado:
Función: Una clase puede heredar los métodos y propiedades de otra clase empleando la palabra
reservada extends en la declaración de la clase. No es posible la extensión de múltiples clases; una
clase sólo puede heredar de una clase base.
Ejemplo:
<?php
class ClaseExtendida extends ClaseSencilla
{
// Redefinición del método padre
function mostrarVar()
{
echo "Clase extendida\n";
parent::mostrarVar();
}
}
$extendida = new ClaseExtendida();
$extendida->mostrarVar();
?>
30
Palabra: final
Significado: Detiene la ejecución del compilador
Función: PHP 5 introduce la nueva palabra clave final, que impide que las clases hijas
sobrescriban un método, antecediendo su definición con final. Si la propia clase se define
como final, entonces no se podrá heredar de ella.
Ejemplo:
<?php
class BaseClass {
public function test() {
echo "llamada a BaseClass::test()\n";
}
final public function moreTesting() {
echo "llamada a BaseClass::moreTesting()\n";
}
}
class ChildClass extends BaseClass {
public function moreTesting() {
echo "llamada a ChildClass::moreTesting()\n";
}
}
// Devuelve un error Fatal: Cannot override final method BaseClass::mo
reTesting()
?>
31
Palabra: finally
Significado:
Ejemplo:
<?php
function inverso($x) {
if (!$x) {
throw new Exception('División por cero.');
}
return 1/$x;
}
try {
echo inverso(5) . "\n";
echo inverso(0) . "\n";
} catch (Exception $e) {
echo 'Excepción capturada: ', $e->getMessage(), "\n";
}
// Continuar la ejecución
echo 'Hola Mundo\n';
?>
32
Palabra: for
Significado: Los bucles for son los más complejos en PHP. Se comportan como sus homólogos
en C. La sintaxis de un bucle for es:
Función: Cada una de las expresiones puede estar vacía o contener múltiples expresiones
separadas por comas. En expr2, todas las expresiones separadas por una coma son
evaluadas, pero el resultado se toma de la última parte. Que expr2 esté vacía significa que
el bucle debería ser corrido indefinidamente (PHP implícitamente lo considera como TRUE,
como en C). Esto puede no ser tan inútil como se pudiera pensar, ya que muchas veces se
debe terminar el bucle usando una sentencia condicional break en lugar de utilizar la
expresión verdadera del for.7
Ejemplo:
<?php
/* ejemplo 1 */
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/* ejemplo 2 */
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
/* ejemplo 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
/* ejemplo 4 */
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>
33
Palabra: foreach
Significado:
Función: El constructor foreach proporciona un modo sencillo de iterar sobre
arrays. foreach funciona sólo sobre arrays y objetos, y emitirá un error al intentar usarlo con una
variable de un tipo diferente de datos o una variable no inicializada. Existen dos sintaxis
Ejemplo:
<?php
$array = array(1, 2, 3, 4);
foreach ($array as &$valor) {
$valor = $valor * 2;
}
// $array ahora es array(2, 4, 6, 8)
unset($valor); // rompe la referencia con el último elemento
?>
34
Palabra: function
Significado: funcion
Función: Una función puede ser definida empleando una sintaxis
Ejemplo:
<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
echo "Función de ejemplo.\n";
return $valor_devuelto;
}
?>
35
Palabra: global
Significado:
Función: El ámbito de una variable es el contexto dentro del que la variable está definida.
La mayor parte de las variables PHP sólo tienen un ámbito simple. Este ámbito simple
también abarca los ficheros incluídos y los requeridos.
Ejemplo:
<?php
$a = 1;
include 'b.inc';
?>
36
Palabra: goto
Significado:
Ejemplo:
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
37
Palabra: if
Significado: si
Función: El constructor if es una de las características más importantes de muchos
lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP
dispone de una estructura if que es similar a la de C
Ejemplo:
<?php
if ($a > $b) {
echo "a es mayor que b";
}
?>
38