Publicado el 22 de Mayo del 2018
428 visualizaciones desde el 22 de Mayo del 2018
1,2 MB
33 paginas
Creado hace 24a (23/07/1999)
!
" Lenguaje.
− Lenguaje orientado a la web.
− Lenguaje de programación de scripts.
− Es ejecutado en el servidor web: Server Side.
− Es embebido en páginas HTML.
" Historia y Futuro.
− Iniciado por Rasmus Lerdorf en 1994.
− Primera versión pública: 1995 Personal Home Page
Tools
− Parser reescrito a mediados de 1995: PHP/FI versión
2 con soporte de mySQL.
− Finales de 1996: PHP/FI usado en más de 15.000
webs.
− Mediados de 1997: 50.000 webs.
− Zeev Suraski y Andi Gutmans reescriben el parser de
PHP/FI y aparece PHP versión 3.
− Para finales de este verano se espera la versión 4 de
PHP, con el parser de nuevo reescrito que supondrá
muchas mejoras en soporte de objetos, velocidad de
ejecución y disponibilidad para múltiples plataformas y
programas.
Integración en la web.
− Embebido en página HTML. TAGS.
− Intérprete como módulo de Apache.
− Intérprete como CGI.
"
" Autentificación HTTP.
− Mediante cabeceras HTTP, ó métodos mas complejos
con cookies, identificadores en urls o directorios.
" Creación de imágenes GIF.
− Usando PHP con la librería GD están disponibles
funciones para crear lineas, círculos, texto, etc en gifs.
" Upload de ficheros.
− Gestión de campos FILE en formularios, limitación de
tamaño, etc.
" Manejo de cookies.
" Manejo de bases de datos.
− Con soporte nativo para Oracle, Adabas D, Sybase,
FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase,
ODBC, Unix dbm, PostgreSQL.
" Manejo de expresiones regulares.
− Como buen sustituto de perl soporta estas funciones.
" Soporte de reportes de ERROR.
− Varios niveles de alerta.
− Soporte para seguimiento de errores.
" Soporte de conexiones canceladas, timeouts ó
normales.
− Detección de conexiones canceladas, timeouts del
script, o conexiones satisfactoriamente concluidas.
− Ejecución de funciones al finalizar el procesado de una
página.
" Visualizador de código PHP.
− Modo de visualización de código, con remarcado de
expresiones en vez de ser ejecutado.
" Soporte PDF, IMAP, conexiones de red, XML, ficheros
.gz, etc.
− Diferentes habilidades extra, dadas por
módulos/librerías.
" Módulo de Apache.
− A partir de RPMs de Red Hat 6.0.
− A partir de código fuente.
" CGI.
− A partir de RPM de Red Hat 6.0.
− A partir de código fuente.
" CGI.
− Configuración del servidor para usar el intérprete de
php para los ficheros de la extensión .php3.
ISAPI (Futuro PHP versión 4).
− Futura posibilidad en Zend.
"
El código PHP se incluye entre tags. El intérprete PHP
deja el código HTML tal cual e interpreta sólo las partes de
código PHP.
# <?php echo ("hola\n"); ?>
# <? echo ("hola\n"); ?>
# <SCRIPT Language="php">
echo ("hola\n");
</SCRIPT>
# <% echo ("hola\n"); %>
# <%= $variable; #equivalente a echo ("$variable") %>
Cada instrucción va separada de otra por un punto y coma
(;) pudiendo ir varias instrucciones seguidas en una sóla
línea. (estilo C ó Perl).
El tag de cierre también implica el final de instrucción,
pudiéndose omitir el punto y como si se desea en las
lineas finales.
# <?php echo "hola\n"; ?>
# <?php echo "hola\n" ?>
PHP admite comentarios estilo C, C++ y shell.
# <?php echo "hola"; //Comentario
/* Este es de varias
lineas*/
# y el ultimo tipo de comantario ?>
Las variables en PHP siempre se representan con el
símbolo del dólar delante ($)
PHP admite los siguientes tipos de variables:
# Enteros.
Son admitidos los siguientes formatos:
$a = 1234; # decimal
$a = −123; # decimal negativo
$a = 0123; # octal (83 en decimal)
$a = 0x12; # hexadecimal (18 en decimal)
# Números en coma flotante.
Su sintaxis es:
$a = 1.234;
$a = 1.2e3;
# Strings.
Las cadenas de texto pueden ser definidas entre
comillas dobles o simples.
$texto="cadena";
$texto=’cadena’;
La diferencia es que con comillas dobles se realiza
expansión de variables y de los caracteres de escape \n
\t \r \\ \$ y \".
Con comillas simples sólo se procesa \\ y \’.
<? $var="hola";
echo "$var que tal"; # imprime: hola que tal
echo ’$var que tal"; # imprime: $var que tal ?>
Las strings se concatenan con puntos:
<? $var=$cadena." otra cadena ".$otra_var; ?>
# Arrays.
PHP soporta arrays escalares y asociativos, al igual que
Perl.
$a[0] = "abc";
$a[1] = "def";
$b["identificador"] = 13;
$c[] = "test1"; # equivalente a $c[0]="test1"
$c[] = "test2"; # equivalente a $c[1]="test1"
$bidimensional[0][1]="posición 0,1";
$bidimensional["id"][3]="mezcla asociativo y normal";
Las funciones array y list pueden ser usadas para
construir arrays.
# Objects.
Los objetos en PHP versión 3.0 son útiles y usables,
pero aú no son lo suficientemente potentes como para
construir sistemas de objetos complejos.
class mi_objeto {
function hacer_cosas () {
echo "Haciendo cosas.";
}
}
$a = new mi_objeto;
$a −> hacer_cosas ();
En PHP normalmente no se establece el tipo de las
variables. Es definido en tiempo de ejecución dependiendo
del contescto donde es usada cada variable.
Se puede forzar la conversión a un tipo de una variable con
la función:
settype(variable,["integer","double","string","array","object"])
También se puede forzar el tipo de una variable con casting:
$a = 10; // $a es un integer
$b = (double) $a; // $b es double
− (int), (integer) − cast to integer
− (real), (double), (float) − cast to double
− (string) − cast to string
− (array) − cast to array
− (object) − cast to object
Las string cuando son evaluadas como números ($a + $b)
siguen las siguientes normas para su conversión:
$ Evalua como double si contiene ".", "e" ó "E".
$ El valor es impuesto por la primera parte de la cadena
("10.3 5" es double).
$ Si la primera parte no es un número válido, toma el valor 0
("hola3" es 0).
$ Cuando un string es el primer operando de una operación,
el tipo con el que se evalúa viene impuesto por el del
segundo argumento ("10.0 hola"+"1" resulta un entero y
("10 ejemplos" + "2.0" resulta double).
Además se dispone de varias funciones para conecer el tipo
de una variable, como gettype(), is_long(), is_double(),
is_string(), is_array(), y is_object().
En PHP el rango de las variables es siempre local, y no se
puede acceder a las variables globales a no ser de que se
especifique en la función.
function prueba() {
global $a $b;
$b = $a + $b;
}
ó accediendo a través del array $GLOBALS[]
function prueba() {
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}
Dentro de una función se puede establecer una variable que
se comporte como global en cuanto a que no pierte su valor.
function incrementa() {
static $i = 0;
echo $a;
$a++;
}
PHP soporta al igual que Perl variables de nombre variable:
$a="hola";
${$a}="adios";
echo "$hola es igual a ${$a}";
PHP soporta constantes, definidas con la función define():
define("EJEMPLO", "valor");
echo EJEMPLO; # imprime: valor
Casi todo en PHP son expresiones. Una expresión es
cualquier cosa que tiene un valor. Las variables, costantes,
números, llamadas a funciones, etc son expresiones porque
devuelven o tienen un valor.
También las asignaciones se evaluan al valor que asignan,
los operadores de comparación (==, <, >, >=, <=, !=) se
evaluan a TRUE (no 0) o FALSE (0), y existe soporte para
pre/post−incremento/decremento.
También es una expresión: $first ? $second : $third.
Las expresiones acabadas en ; son statements o
instrucciones.
Los operadores se aplican a expresiones. Veamos los tipos
existentes:
" Aritméticos:
+, −, *, / y % ($a + $b, etc...)
" Strings:
. (Concatena strings: $a= $cadena . " texto";)
" Asignación:
El operador de asignación fundamental es =. Sobre él
hay variaciones como .=, +=, *=, etc...
" Sobre bits:
& (And), | (Or), ~ (Not), << (Mult. x2, desplaz izq.), >>
(Div. /2, despaz. dcha.)
" Lógicos:
And, or, xor, !, &&, ||, ^
" De comparación:
==, !=, <, >, <=, >=, (expr1) ? (expr2) : (expr3);
" Prioridad de operadores:
new
[ y (
! ~, ++ −− y castings
* / %
+ − .
<< >>
< <= > >=
== !=
&
^
|
&&
||
? :
= += −= *= /= .= %= &= != ~= <<= >>=
print
and
xor
or
,
Agrupan statements.
if ... elseif ... else
if (expr) statement
if (expr) { statements }
if (expr) : statements endif;
if (expr) {
statements
} elseif (expr) {
statements
} else {
statements
}
if (expr) :
statements
elseif (expr):
statements
else:
statements
endif;
" while
while (expr) statement
while (expr): statement ... endwhile;
" do ... while
do { statements } while (expr);
"
for
for (inicial; condicion; incremento) statement
for (inicial; condicion; incremento): statement; ...; endfor;
" break
" continue
" switch
switch ($i) {
case 0:
print "i es igual a 0";
break;
case 1:
print "i es igual a 1";
break;
case 2:
print "i es igual a 2";
break;
default:
print "i no es igual a 0, 1 o 2"
}
require
require ’header.inc’;
Inserta el fichero una sóla vez, sin ejecutarlo, y luego se
interpreta el script entero.
include
include($fichero);
Inserta el fichero y lo evalua cada vez que se encuentra.
"
"
"
function
function ejemplo ($arg_1, $arg_2, ..., $arg_n) {
echo "funcion de ejemplo.\n";
return $valor;
}
return devuelve el resultado de la función.
Los argumentos pueden ser pasados por valor ($arg1,
$arg2) o por referencia (con (&$arg1, &$arg2))
PHP también admite establecer valores por defecto para
los argumentos, y que no se produzca una advertencia
en caso de que alguno no sea especificado:
function ejemplo ($arg_1, $arg_2="nada") {
if ($arg_2=="nada") {
echo "No se ha pasado el segundo argumento"
}
echo "funcion de ejemplo.\n";
return $valor;
}
" class
class nombre {
var variable;
...
function nombre_metodo ($param) {
$this−>variable=$param;
}
...
}
"
PHP posee gran cantidad de funciones para todo tipo de
ta
Comentarios de: Curso de PHP versión 3 (0)
No hay comentarios