Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu es PHP?
PHP (acrnimo de PHP: Hypertext Preprocessor) es un lenguaje de cdigo abierto
muy popular especialmente adecuado para desarrollo web y que puede ser
incrustado en HTML.
Una respuesta corta y concisa, 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>Example</title>
</head>
<body>
<?php
echo "Hola, soy un script PHP!";
?>
</body>
</html>
En lugar de usar muchos comandos para mostar HTML (como en C o Perl),
pginas PHP contienen HTML con cdigo incluido en el mismo que hace "algo"
(en este caso, mostrar "Hola soy un script PHP!). El cdigo PHP est entre medio
de etiquetas de comienzo y final especiales<?php y ?> que nos permitirn entrar y
salir del "modo PHP".
Qu se puede hacer con PHP?
PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como
procesar la informacin de formularios, generar pginas con contenidos
dinmicos, o enviar y recibir cookies. Y esto no es todo, se puede hacer mucho
ms.
Existen principalmente tres campos en los que se usan scripts en PHP.
Qu necesito?
En este manual asumimos que cuenta con un servidor que soporta PHP y que
todos los archivos con la extensin .php son usados por PHP. En la mayora de
servidores, sta es la extensin que toman los archivos PHP por defecto, pero
pregunte al administrador de su servidor para estar seguro. Si su servidor soporta
PHP, entonces no necesita hacer nada, solamente crear sus archivos .php y
guardarlos en su directorio web y el servidor los analizar por usted. No hay
necesidad de compilar nada o instalar otras herramientas. Mrelo de esta manera,
los archivos PHP son tan simples como archivos de HTML con el aadido de una
nueva familia de etiquetas que permiten todo tipo de cosas. La mayora de las
compaas de hospedaje de pginas web ofrecen el soporte que necesita para
usar PHP, pero si por alguna razn ellos no lo hacen, considere leer la seccin
titulada Recursos PHP para ms informacin acerca de compaas de
hospedaje que soportan PHP.
Consideraciones generales de instalacin
Antes de empezar con la instalacin, primero necesita saber para qu quiere
utilizar PHP. Existen tres campos principales donde se puede utilizar PHP tal y
como se describe en la seccin: Qu se puede hacer con PHP?
PHP tambin permite las etiquetas abreviadas <? y ?> (las cuales estn
desaconsejadas debido a que slo estn disponibles si se habilitan con la directiva
short_open_tag del fichero de configuracin php.ini, o si PHP se configur con la
opcin --enable-short-tags .
Si un fichero contiene cdigo PHP puro, es preferible omitir la etiqueta de cierre de
PHP al final del fichero. Esto impide que se aadan espacios en blanco o nuevas
lneas despus de la etiqueta de cierre de PHP, los cuales pueden causar efectos
no deseados debido a que PHP iniciar la salida del buffer cuando no haba
intencin por parte del programador de enviar ninguna salida en ese punto del
script.
<?php
echo "Hola mundo";
// ... ms cdigo
echo "ltima sentencia";
// el script finaliza aqu sin etiqueta de cierre de PHP
Comentarios
PHP soporta comentarios 'C', 'C++' y etilo consola Unix (estilo Perl). Por ejemplo:
<?php
echo 'Esto es una prueba'; // Esto es un comentario estilo c++ de una sola lnea
/* Esto es un comentario multi-lnea
y otra lna de comentarios */
echo 'Esto es otra pruba';
echo 'Una prueba final'; # Esto es un comentario estilo consola de una sola lne
a
?>
Los comentarios del estilo "una sola lnea" solo comentan hasta el final de la lnea
o del bloque actual de cdigo de PHP, lo primero que suceda. Esto implica que el
cdigo HTML despus de // ... ?> o # ... ?> SER impreso: ?> sale del modo PHP
y vuelve al modo HTML, por lo que // o # no pueden influir en eso. Si la directiva
de configuracin asp_tags est activada, acta igual que // %> y # %>. Sin
embargo, la etiqueta </script> no sale del modo PHP en un comentario de una
sola lnea.
Mysql
Introduccin
SQL, Structure Query Language (Lenguaje de Consulta Estructurado) es un
lenguaje de programacion para trabajar con base de datos relacionales como
MySQL, Oracle, etc.
clave
MarioPerez
Marito
MariaGarcia
Mary
DiegoRodriguez
z8080
nombre varchar(30),
clave varchar(10) );
Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con
ese nombre), mostrar un mensaje de error indicando que la accin no se realiz
porque ya existe una tabla con el mismo nombre.
Para ver las tablas existentes en una base de datos tipeamos nuevamente:
show tables;
Ahora aparece "usuarios" entre otras que ya pueden estar creadas.
Cuando se crea una tabla debemos indicar su nombre y definir sus campos con su
tipo de dato. En esta tabla "usuarios" definimos 2 campos:
- nombre: que contendr una cadena de hasta 30 caracteres de longitud,
que almacenar el nombre de usuario y - clave: otra cadena de caracteres de 10
de longitud, que guardar la clave de
cada usuario.
Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave.
Para ver la estructura de una tabla usamos el comando "describe" junto al nombre
de la tabla:
describe usuarios;
Aparece lo siguiente:
Field
Type
Null
_________________________
nombre varchar(30) YES
clave varchar(10) YES
Esta es la estructura de la tabla "usuarios"; nos muestra cada campo, su tipo, lo
que ocupa en bytes y otros datos como la aceptacin de valores nulos etc, que
veremos ms adelante en detalle.
Para eliminar una tabla usamos "drop table". Tipeamos:
drop table usuarios;
Si tipeamos nuevamente:
drop table usuarios;
Aparece un mensaje de error, indicando que no existe, ya que intentamos borrar
una tabla inexistente.
Para evitar este mensaje podemos tipear:
drop table if exists usuarios;
En la sentencia precedente especificamos que elimine la tabla "usuarios" si existe.
Tpos de datos bsicos de un campo de una tabla
Estos son algunos tipos de datos bsicos:
- varchar: se usa para almacenar cadenas de caracteres. Una cadena es una
secuencia de caracteres. Se coloca entre comillas (simples): 'Hola'. El tipo
"varchar" define una cadena de longitud variable en la cual determinamos el
mximo de caracteres. Puede guardar hasta 255 caracteres. Para almacenar
cadenas de hasta 30 caracteres, definimos un campo de tipo varchar(30). Si
asignamos una cadena de caracteres de mayor longitud que la definida, la cadena
se corta. Por ejemplo, si definimos un campo de tipo varchar(10) y le asignamos la
cadena 'Buenas tardes', se almacenar 'Buenas tar' ajustndose a la longitud de
10 caracteres.
Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de
dato adecuado para cada uno de ellos. Por ejemplo, si en un campo
almacenaremos nmeros enteros, el tipo "float" sera una mala eleccin; si vamos
a guardar precios, el tipo "float" es correcto, no as "integer" que no tiene
decimales.
Hola
');
retorna
"Hola
.
"
" Hola"
.
-trim([[both|leading|trailing] [subcadena] from] cadena): retorna una cadena igual a
la enviada pero eliminando la subcadena prefijo y/o sufijo. Si no se indica ningn
especificador (both, leading o trailing) se asume "both" (ambos). Si no se
especifica prefijos o sufijos elimina los espacios. Ejemplos:
select trim(' Hola ');
retorna 'Hola'.
select trim (leading '0' from '00hola00');
retorna "hola00".
select trim (trailing '0' from '00hola00');
retorna "00hola".
select trim (both '0' from '00hola00');
retorna "hola".
select trim ('0' from '00hola00');
retorna "hola".
select trim (' hola ');
retorna "hola".
-replace(cadena,cadenareemplazo,cadenareemplazar): retorna la cadena con
todas las ocurrencias de la subcadena reemplazo por la subcadena a reemplazar.
Ejemplo:
select replace('xxx.mysql.com','x','w');
retorna "www.mysql.com'.
-repeat(cadena,cantidad): devuelve una cadena consistente en la cadena repetida
la cantidad de veces especificada. Si "cantidad" es menor o igual a cero, retorna
una cadena vaca. Ejemplo:
select repeat('hola',3);
retorna "holaholahola".
-reverse(cadena): devuelve la cadena invirtiendo el order de los caracteres.
Ejemplo:
select reverse('Hola');
retorna "aloH".
-insert(cadena,posicion,longitud,nuevacadena): retorna la cadena con la nueva
cadena colocndola en la posicin indicada por "posicion" y elimina la cantidad de
caracteres indicados por "longitud". Ejemplo:
select insert('buenas tardes',2,6,'xx');
retorna ""bxxtardes".
-lcase(cadena) y lower(cadena): retornan la cadena con todos los caracteres en
minsculas. Ejemplo:
select lower('HOLA ESTUDIAnte');
retorna "hola estudiante".
select lcase('HOLA ESTUDIAnte');
retorna "hola estudiante".
-ucase(cadena) y upper(cadena): retornan la cadena con todos los caracteres en
maysculas. Ejemplo:
select upper('HOLA ESTUDIAnte');
retorna "HOLA ESTUDIANTE".
select ucase('HOLA ESTUDIAnte');
retorna "HOLA ESTUDIANTE".
-strcmp(cadena1,cadena2): retorna 0 si las cadenas son iguales, -1 si la primera
es menor que la segunda y 1 si la primera es mayor que la segunda. Ejemplo:
select strcmp('Hola','Chau');
retorna 1.
Fpdf
QuesFPDF?
FPDFesunaclaseescritaenPHPquepermitegenerardocumentosPDFdirectamentedesdePHP,esdecir,
sinusarlabibliotecaPDFlib.LaFdeFPDFsignificaFree(gratisylibre):puedeustedusarlaparacualquier
propsitoymodificarlaasugustoparasatisfacersusnecesidades.
FPDFtieneotrasventajas:funcionesdealtonivel.Estaesunalistadesusprincipalescaractersticas:
Eleccindelaunidaddemedida,formatodepginaymrgenes
Gestindecabecerasypiesdepgina
Saltodepginaautomtico
Saltodelneayjustificacindeltextoautomticos
Admisindeimgenes(JPEG,PNGyGIF)
Colores
Enlaces
AdmisindefuentesTrueType,Type1ycodificacin
Compresindepgina
FPDFnonecesitadeningunaextensinparaPHP(exceptozlibparaactivarlacompresinyGDparasoporte
aGIF)yfuncionaconPHP4(4.3.10)yPHP5.
LostutorialeslepermitirnempezarrpidamenteausarFPDF.Ladocumentacincompleta(online)se
encuentraaquyelreadedescarga,aqu.SerecomiendaencarecidamentequelealasFAQ(oPMF:
preguntasmsfrecuentes),quelistanlaspreguntasyproblemasmscomunes(especialmentelosrelacionados
conlosnavegadores).
Existeunaseccindescriptsqueincluyealgunasextensionestiles.
Quidiomaspuedousar?
Laclasegeneradocumentosenmuchosotrosidiomasapartedeloseuropeosoccidentales:europeocentral,
cirloco,griego,blticoytailands,sisedisponedefuentesTrueTypeoType1conelconjuntodecaracteres
adecuado.Elchinoyeljaponstambinestnadmitidos.
UTF8tambinestdisponible.
Yquhaydelaeficiencia?
Comoeslgico,lavelocidaddegeneracindeundocumentoesmenorqueconPDFlib.Sinembargo,la
desventajaencuantoarendimientoesmuyrazonableyseadecaalamayoradeloscasos,anoserquesus
documentosvayanaserespecialmentecomplejosoextensos.