Tip:
Highlight text to annotate it
X
Hola. Bienvenido al inicio, al primer paso en un nuevo proyecto del Centro de Enseñanza
Virtual. Tanto la profundización en aplicaciones web, tipo PHPNuke, o los foros, phpBB2, como
la profundización en la creación de aplicaciones Flash más complejas, nos lleva ineludiblemente
al tema de los lenguajes de programación de lado del servidor y la gestión de bases
de datos. Se trata de temas que ya hemos tratado en muchos de los videotutoriales de distintos
cursos, pero ha llegado el momento de sintetizar y ordenar toda esta información en un curso
completo dedicado al estudio del lenguaje de programación de lado del servidor, PHP
y de la base de datos MySQL. Juntos, porque son tan inseparable como Romeo y Julieta,
el Gordo y el Flaco, Ramón y Cajal, o como ha dicho hace poco el inefable Conselleiro
de incultura que padecemos por aquí Sara y Mago. Un lenguaje de programación de lado
del servidor como es PHP, sin una base de datos, como es MySQL, pierde casi todo su
sentido. Del mismo modo que la base de datos sin el lenguaje de programación que nos permita
gestionarla sería prácticamente inútil. Por eso creo que no tendría sentido dos cursos
por separado sobre dos temas tan relacionados entre sí. Se trata de un curso eminentemente
práctico, de ahí el nombre de desarrollo de aplicaciones web mediante el uso de PHP
y MySQL. Hemos decidido explicar lo fundamental de los dos lenguajes a partir de supuestos
prácticos y totalmente operativos. Explicaremos, desde luego, todo lo relacionado con el lenguaje
pero creo que por motivos prácticos lo haremos desde un nivel medio. Nivel que nos evita
tener que insistir en cosas demasiado simples para la mayoría, pero que al mismo tiempo
no impide que sea entendible y lo puedan seguir incluso aquellos que nunca han trabajado ni
con PHP ni con MySQL. En este primer videotutorial de introducción, vamos a ver una perspectiva
general del contenido de todo el curso, lo que prenderemos a hacer si lo seguimos.Veremos
lo que es PHP y lo que es MySQL y porque se han hecho tan importantes en los últimos
tiempos, sobre todo en la red. Veremos una perspectiva de las características de PHP
y la estructura en general que tendrá el curso. Para empezar este curso nos enseñará
como crear simples webs interactivas, desde un simple formulario de pedidos, que es el
que estás viendo en pantalla y que utilizaremos ya en el primer videotutorial en el que empezaremos
a trabajar, que será el siguiente, hasta sitios de e-commerce totalmente seguros. Lo
más importante es que aprenderás como hacerlo usando tecnologías de código abierto, recuerda
que tanto PHP como MySQL forman parte del mundo open source, o del software libre que
recuerda que se refiere a que el código de programación es totalmente accesible y por
lo tanto readaptable y reutilizable de forma totalmente libre por cualquiera. Este curso
va dirigido a personas que ya saben por lo menos lo básico de html y han hecho algo
de programación en un lenguaje de programación moderno ya antes de empezar el curso. No es
necesario que hayan programado para internet o que hayan usado bases de datos relacionales.
Si eres un programador primerizo y nunca antes has tratado con temas de programación, también
puedes seguir el curso, aunque puede que alguno de los temas te lleve más tiempo poder digerirlo
y quizás en algún caso tengas que profundizar buscando fuentes sobre las cuales intentaremos
orientar en su momento también. Hemos intentado no dejar ningún concepto básico, pero algunos
serán cubiertos de forma más rápida. El prototipo medio de seguidor de este curso
sería alguien que quiere dominar PHP y MySQL con el objetivo de construir sitios web complejos
y dinámicos. Puede que ya hayas trabajado en otros lenguajes de programación de desarrollo
web, si es así, este curso debería permitirte hacerlo de forma más rápida y te será más
fácil también entenderlo, desde luego. Estuve barajando estes últimos días las distintas
posibilidades de cursos que podía empezar y al final nos hemos decidido por este curso
porque estoy cansado de encontrar manuales en php que son básicamente una función de
referencia. Son libros, desde luego, útiles, pero no sirven cuando por ejemplo nos encargan
un trabajo completo, construir una página de shopping cart, una página de e-commerce.
Construye un centro de aprendizaje online. Intentaremos hacerlo mediante ejemplos útiles
y que sean a su vez ya utilizables. Muchos de los ejemplos de código los puedes utilizar
directamente ya en un sitio web y otros muchos, después de aprender lo fundamental de PHP,
puedes reutilizarlos, desmontarlos, modificarlos para adaptarlos a tus necesidades.
que es lo que seremos capaces de hacer si seguimos el curso. Si se sigue en detalle
el curso, al terminarlo y a lo largo, iremos aprendiendo a lo largo del curso, seremos
capaces de construir aplicaciones web dinámicas, similares a las que puedes ver en la red.
Si ya has construido antes sitios web usando html sólo, ya conocerás las limitaciones
que tiene este sistema. Se trata sobre todo de contenidos estáticos que se mantienen
siempre igual a menos que los actualicemos nosotros mismos. Y en esos casos los usuarios
no pueden interactuar con el sitio de ninguna forma significativa o importante. Usando lenguajes
tales como php y bases de datos tales como MySQL, nos permiten hacer sitios dinámicos,
hacerlos personalizables y tener información en tiempo real. Nos centraremos directamente
en aplicaciones del mundo real, incluso ya en los videotutoriales iniciales empezaremos
viendo un simple sistema de pedidos online, que como decía, es este que ya estamos viendo
en pantalla en este momento y trabajaremos de diversos modos y con distintas partes,
iremos explicando PHP, como es su lenguaje, las distintas sintaxis que presenta y lo mismo
la base de datos MySQL. Y a lo largo del curso veremos como construir un sitio web completo
y como implementar todos estos aspectos de php y mysql. Temas que veremos, pues lo relacionado,
por ejemplo, con temas de autentificación y personalización, de loguearse en páginas
web. La creación de shopping cars, los denominados en castellano carritos de compra, los sistemas
de manejo de contenidos en una página web, sistemas de email basados en web o de gestión
de listas de email. Uso de foros y generación de documentos. En conjunto veremos todos los
aspectos fundamentales y recuerda que sobre todo en estos temas, lo más importante es
coger soltura, conociendo el código y a partir de ese momento ya depende de la habilidad
de cada uno para ser capaz de llevar a cabo sus propias modificaciones o sus propias creaciones
que en gran medida es lo mismo. Desde luego al empezar el curso la primera pregunta que
puede surgir, pues sin duda alguna, no creo que sea demasiado difícil, es qué es PHP
y qué es MySQL. Vamos a verlo ahora un poco en plan teórico, aunque siempre intentaremos
hacerlo sobre hechos concretos, aquí por ejemplo tienes un ejemplo de una aplicación
que utiliza PHP y como puedes observar también, embebido dentro de una página HTML. Porque
justo ese es el primer aspecto importante a destacar de PHP. PHP es un lenguaje de programación
de lado del servidor, pero a parte de esto, se trata de un lenguaje de programación de
lado del servidor, diseñado específicamente para la web. Por eso, como es en este caso
que vemos aquí, podemos, dentro de una página HTML, embeber código PHP que será ejecutado
cada vez que esa página es visitada. El código PHP tiene que ser interpretado, recuerda que
a eso se refiere cuando se habla de programación de lado del servidor, tiene que ser interpretado
en el servidor web y genera un resultado que será visto como una página HTML, en la actualidad
también como una salida XML o de otro tipo, pero el resultado que podrá ser visto por
los visitantes de la web. Este lenguaje PHP, que ya parece formar parte de la vida de todos,
fue concebido en 1994. Tiene diez añitos. Originalmente es el trabajo de un hombre llamado
Rasmus Lerdorf y posteriormente otra gente que creyó en las posibilidades que tenía,
lo llevó a una serie de reescrituras hasta convertirse en un producto ya completo y maduro
que a partir del año 2001, observa que estamos hablando de tiempos muy cercanos, empieza
a convertirse en un estándar en el uso para aplicaciones dinámicas en la red. En la actualidad
se calcula que aproximadamente cinco millones de dominios en toda la red usan PHP y este
número crece de una manera espectacular y rápida. En esta dirección que puedes ver
en pantalla, podemos ver el número actual de sitios que utilizan PHP y que crece, como
decíamos, de forma aceleradísima. PHP, lo repetimos una vez más, es un producto open
source, de código abierto, tienes acceso al código fuente, puedes usarlo, alterarlo
y redistribuirlo sin ningún tipo de coste. Y la otra pregunta ¿Qué es MySQL? En general,
cuando hablamos de MySQL, hablamos de bases de datos, MySQL es el sistema de gestión
de la base de datos relacionales. Se trata de un sistema de gestión rápido, robusto
y seguro. Una base de datos nos permite almacenar información de forma eficiente, buscarla,
ordenarla y recoger datos de ella de forma rápida y clara. El servidor MySQL controla
el acceso a esos datos para asegurar que múltiples usuarios puedan trabajar con él de forma
concurrente, provee un rápido acceso y asegura que sólo los usuarios autorizados puedan
obtener ese acceso. Por tanto, MySQL es un servidor multi usuario y que puede atender
multitud de peteiciones a la vez. Usa el lenguaje SQL, lenguaje de consulta estructurado, que
es el estándar en el lenguaje de consulta de bases de datos. MySQL está disponible
públicamente desde el año 1996, aunque en este caso su desarrollo parte de un proyecto
bastante anterior de finales de los años 70, principios de los 80, aunque de nuevo
es también en el año 96, cuando de modo general empieza a utilizarse en la red. En
la actualidad MySQL está disponible bajo una licencia de código abierto, aunque también
existen licencias comerciales si se necesitan. El símbolo de los delfines que se utiliza
desde un principio en MySQL y que por eso he utilizado en la portada del curso. Pues
una vez solventado, desde luego de una forma muy genérica lo que son PHP y MySQL, la pregunta
obvia es porque usar estos y no otros programas ¿Por qué PHP y no ASP, Java Server o ColfFusion,
por ejemplo?, lo mismo en el caso de MySQL,¿Por qué no utilizar Access? No vamos a entrar
ahora en discusiones frentistas que tanto nos entretienen en la red. Personalmente sólo
decir dos cosas. La primera que esto y totalmente convencido que el futuro es del software libre,
son abrumadoras las ventajas, además multiplicadas hasta el infinito por las posibilidades que
ofrece la red para creerse que esto va a parar o no va a ir a más. Y la segunda, que el
objetivo de cualquiera que quiera profundizar en estos temas, es llegar a dominar los distintos
lenguajes. Sin enrrollarnos, ¿Qué ventajas presenta PHP? pues, sin duda, la primera su
alto rendimiento, PHP es muy eficiente, un simple servidor puede servir millones de hits
por día. La segunda, su integración con muchos sistemas más de bases de datos, además
de con MySQl, podemos conectar directamente a PostgreSQL, MSQL, Oracle,........... Además
usando ODBC, Open Data Base Conectivity standard, podemos conectarnos con cualquier base de
datos que provea un controlador de este tipo, un controlador ODBC, como es el caso de todos
los productos de Microsoft y de muchos otros. Otra gran ventaja es que PHP cuenta ya con
infinidad de librerías construidas, al ser diseñado desde sus orígenes para su uso
en la web, existen muchas funciones ya preconstruidas, los denominados en inglés built-in, para
facilitar todas las tareas relacionadas con la red. Podemos genera imágenes gif al vuelo,
conectar con otros servidores de red, enviar emails, trabajar con cookies, generar documentos
pdf y todo ello con unas pocas líneas de código. Y ventana no menor, es el costo,
PHP es gratuito, podemos descargar en cualquier momento la última versión dese www.php.net,
no es necesario ni escribirlo, muy sencillo de recordar. En este momento, la versión
5, que acaba de ser liberada y siempre se puede descargar sin ningún tipo de coste.
Aprender PHP es también sencillo. Su sintaxis se basa en otros lenguajes de programación,
especialmente en C y Perl y si ya conoces estos lenguajes o lenguajes basados en C,
como C++ o Java, podrás usar PHP casi inmediatamente. Más ventajas, pues su portabilidad. PHP está
disponible para muchos sistemas operativos diferentes, podemos escribir código PHP en
sistemas operativos libres basados en Unix, como Linux o freeBSD y también en versiones
comerciales de Linux, como Solaris y también en diferentes versiones de Microsoft Windows.
El código PHP sin modificaciones funciona en estos distintos sistemas operativos y por
último, gran ventaja de PHP es poder acceder a su código fuente, a diferencia de los productos
comerciales y de código cerrado, si hay algo que queremos modificar o añadir al lenguaje,
podemos hacerlo libremente. Desde luego también se pueden indicar ventajas de otros sistemas,
como puede ser ASP, y en ningún caso estamos entrando en esas batallitas ridículas de
imposiciones. Lo mejor en cada caso es ver a lo que se adapta y desde luego, PHP tiene
unas ventajas enormes y hoy nadie discute que como mínimo está a la altura y al nivel
de sistemas cerrados y comerciales, como ASP y para muchos, incluso lo aventaja en la mayor
parte de los aspectos, aunque eso, desde luego, es discutible. Pues lo mismo casi podemos
decir respecto a las ventajas de MySQL. A parte de que PHP y MySQL casi son una pareja
de hecho, los principales competidores de MySQL, pues son PostGre, Microsoft SQL y Oracle,
Ventajas, pues repetimos casi las de PHP, su eficacia, su bajo costo, la facilidad de
aprendizaje, de configuración y de uso, su portabilidad y la disponibilidad del código
fuente. Bueno, dejamos esto, tiempo tendremos de ir viéndolo, y terminamos la introducción,
este videotutorial de introducción, resumiendo la estructura genérica que va a presentar
el curso. Para empezar, indicar que va a ser un curso en profundidad,de aproximadamente
unos 60 videotutoriales, como ha ocurrido con otros, una de sus funciones primordiales
es abrir caminos, que cada uno tendrá que saber como cubrir. En la red la primera lección
que todos deberíamos aprender es "que tú eres tu mejor maestro." En la primera parte
del curso, aprenderemos a utilizar PHP, veremos las distintas partes del lenguaje, siempre
con ejemplos, cada ejemplo será un trozo de código real usado en la construcción
de sitios web dinámicos. No se tratará nunca de código de juguete, como decíamos lo trataremos
a un nivel medio, sin caer en simplificaciones, pero asegurándonos que con algún esfuerzo,
cualquiera, aunque nunca antes lo hubiera hecho, pueda seguir el curso. En la segunda
parte del curso, aprenderemos el uso de MySQl, veremos tanto los aspectos conceptuales, como
la práctica que acompaña al uso de bases de datos relacionales. Veremos el lenguaje
SQL, la conexión de bases de datos mediante PHP y temas avanzados de MySQL, como los de
optimización y seguridad, por ejemplo. En la tercera parte nos pararemos en el uso de
técnicas avanzadas con PHP, ofreciendo la cobertura detallada de algunas de las muchas
funciones built-in o preconstruidas, que hay en PHP. Seleccionábamos sobre todo grupos
de funciones muy útiles, cuando construimos sitios dinámicos o por ejemplo de e-commerce,
aprenderemos temas como interacciones con el servidor, interacciones con la red o manipulación
de datos. Y terminaremos, ya después de dominar PHP, MySQL y saber usar las librerías ya
preconstruidas, terminaremos, decía con la construcción de proyectos prácticos propios
con PHPy MySQL. Cubriendo situaciones reales de la red hoy, tales como pueden ser la necesidad
de manejar grandes proyectos y los modos de depurarlo y optimizarlo. Veremos ejemplos
de proyectos, que demuestran el poder y la versatilidad que, en la actualidad, nos ofrece
el uso conjunto de PHP y MySQL. Pues con esto terminamos esta presentación del curso. Espero
que de nuevo seáis muchos los que os ilusionéis con este nuevo curso, como ilusionado estoy
yo al hacerlo. No oculto que esto para mi significa muchas cosas, pero por encima de
todo es diversión. Aprender, transmitir, compartir conocimientos, pero también confianza
en nosotros mismos y en nuestras posibilidades y ver como cada día aumentan nuestras habilidades
y nuestra capacidad para manejar y dominar herramientas tan robustas y poderosas como
éstas que nos ayudan a seguir construyendo este nuevo mundo virtual.