Title: Lenguaje PHP
1Lenguaje PHP
2PHP
- Orígenes
- Evolución
- Zend
- Características del lenguaje
- Las librerías
- Usos y Aplicaciones (web)
- La comunidad
- Ventajas
3PHP Orígenes - 1994
Rasmus Lerdorf
- Inicios
- Prehistoria cgi
- Personal Home Page Tools
4PHP evolución - Nov 1997
lt!--getenv HTTP_USER_AGENT--gt lt!--ifsubstr
exec_result Mozilla--gt Hey, you are using
Netscape!ltpgt lt!--endif--gt lt!--sql database
select from table where user'username'--gt lt!-
-ifless numentries 1--gt Sorry, that record does
not existltpgt lt!--endif exit--gt Welcome
lt!--user--gt!ltpgt You have lt!--index0--gt
credits left in your account.ltpgt lt!--include
/text/footer.html--gt
5PHP evolución Jun 1998
Zeev Suraski y Andi Gutmans
6PHP evolución Mayo 2001
- PHP4
- Motor Zend (bytecode)
- Sesiones
- Cambios en variables globales
7PHP evolución Jul. 2004
- PHP5
- Zend2
- Mejor POO
- Rendimiento
- Iteradores datos
- Excepciones
8PHP futuro
- PHP6
- Unicode
- Sin register globals
- Sin safe mode
- Sin magic quotes
9PHP ZEND
BBDD
mysql
odbc
imap
oracle
gd
...
.so
Interfaz de módulos de función
Navegador
10PHP el lenguaje
!/usr/bin/perl cadena "Hola que tal" i
0 cadena cadena . ", esto es un
ejemplo" for (i0ilt10i) print
i ."gt ". cadena if (i 10)
print "Ya estamos a diez!"
lt? cadena "Hola que tal" i 0 cadena
cadena . ", esto es un ejemplo" for
(i0ilt10i) print i ."gt ".
cadena if (i 10) print "Ya
estamos a diez!" ?gt
11PHP el lenguaje
- Interpretado
- Débilmente tipado
- Orientado a objetos
12PHP el lenguaje
lthtmlgt ltheadgt lttitlegtUn Guestbook mal
programadolt/titlegt ltlink rel"stylesheet"
type"text/css" media"all" href"estilo.css"
gt lt/headgt ltbodygt Guardando mensaje...ltbrgt lt?php
if (_POST'botenviar' "Enviar") conn
mysql_connect('localhost', 'root',
'root') mysql_select_db('guestbook') //
erabiltzailea badago sql "insert into
saludos (quien, origen, titulo, contenido,
cuando) values ('". _POST'quien'."','"._POST
'origen'."','"._POST'titulo'."','"._POST'co
ntenido'."',now())" if ( (result
mysql_query(sql)) ) echo "OK, mensaje
insertado. lta href'index.php?quien"._POST'quie
n'."'gtVolverlt/agt" else echo "El
mensaje no se guardo, query sql" ?gt
13PHP las librerías
- El manual del PHP
- Cadenas
- XML
- BBDD
14PHP uso y aplicaciones
- Multipropósito (CLI, GTK y curses)
- Aplicaciones Web
- LAMP
15PHP aplicaciones web
- Variables globales
- Módulos
- Librerías
- Acceso a BBDD transparente
16PHP esquema de una aplicación
- MySQL
- MVC
- Acceso a BBDD
-
- XML
17PHP model view controller
BBDD
Lógica de negocio
Controller
/?acción1
cliente
acción1 acción2 acción3
Presentación
html
18PHP la comunidad
- Frameworks Zend, cake
- Infinidad de aplicaciones hechas
- Documentación y foros
19PHP ventajas
- Libre
- Sencillo, aprendizaje rápido
- Extendible
- Fácil de migrar
- Entorno simple (LAMP)
- ...en definitiva BBB
20PHP un vistazo a los demás
- .NET
- Java, JSP
- Coldfusion
- Python
- Perl
- Ruby (RoR)
21PHP un caso real
- Aplicación ASP con componentes registrados y
Access - Opciones
- 1. ASP.NET SQLServer
- 2. JSP y Servlets Oracle
- 3. PHP4 PostgreSQL
22PHP usos y costumbres
- Editores de código simple
- Firefox, Iexplorer y F5
- PhpMyAdmin/phpPgAdmin
- El manual de PHP y www.php.net
- Dos servidores desarrollo y producción
- Subversion