Documente Academic
Documente Profesional
Documente Cultură
servidor: PHP
[1.1] ¿Cómo estudiar este tema?
1
TEMA
Introducción a la programación en el servidor PHP
Esquema
TEMA 1 – Esquema
resultado
Conceptos básicos Sintaxis básica de PHP Generación de HTML desde PHP Entorno de desarrollo
2
- CGI print() Entorno de pruebas local:
- ASP
XAMPP
- JSP Tipos de datos heredoc Instalación
- PHP
Variables: asignación y Problemas
include/include_once Pruebas
operaciones
Responder a
necesidades del usuario Require/require_once
Constantes: de sistema,
- CGI
de usuario
- ASP
- JSP
- PHP
Ideas clave
Para estudiar este tema lee las Ideas clave que encontrarás a continuación.
Además, tendrás que estudiar las siguientes páginas disponibles bajo licencia CEDRO:
Para ello, en primer lugar repasaremos los elementos diferenciadores del contenido
dinámico y cómo la inclusión de pequeñas instrucciones intercaladas en el código HTML
puede aportar dicho dinamismo.
A continuación, nos centraremos en el lenguaje PHP, que es de uso muy habitual para
la programación web en el servidor. En este segundo apartado, aprenderemos la
sintaxis básica del lenguaje.
La programación web en el lado del servidor surge con la necesidad incluir, en las
páginas web, elementos que varían en función de algún parámetro. Estos casos se dan
cuando queremos mostrar, por ejemplo, un listado de productos de un catálogo según
algún criterio de búsqueda; o cuando seleccionamos nuestro país en un desplegable y, en
el desplegable de al lado, solo aparecen las ciudades del país seleccionado. En general, la
programación que se realiza en la parte del servidor está enfocada a responder a
necesidades del usuario y por tanto, generar el contenido web dinámico.
Posteriormente, han ido apareciendo otros lenguajes que han convivido en el tiempo,
cada uno con sus características particulares que los han hecho más adecuados para
determinados usos. Incluso, se han utilizado en función de las preferencias del
programador o alguna restricción de tipo económico o de la plataforma utilizada.
Sin embargo, en esta asignatura vamos a centrarnos en el caso concreto de PHP (PHP
Hypertext Preprocessor), un lenguaje muy extendido para la programación de
páginas web dinámicas en la parte del servidor, debido a su facilidad de uso y
aprendizaje.
Las instrucciones PHP se incrustan en el código HTML de la página web, de tal forma
que, cuando el servidor detecta un trozo de código en PHP lo ejecuta, pone en su lugar el
HTML correspondiente y devuelve el resultado al cliente.
<HTML>
<TITLE> Un título de página </TITLE>
<BODY>
El contenido que queremos mostrar.
</BODY>
</HTML>
La pregunta ahora es: ¿cómo incluimos el código PHP? La respuesta es sencilla, ya que
sigue la misma filosofía que HTML: utiliza una marca. Así, el código PHP que queramos
incrustar en nuestra página web deberá estar comprendido entre las marcas <?PHP y ?>.
Existen otras opciones para marcar que van a incluir código PHP, pero no están tan
extendidas y/o aceptadas.
Para el ejemplo anterior, si queremos que la frase «El contenido que queremos mostrar»
lo escriba el servidor de forma dinámica, quedaría de la siguiente forma:
<HTML>
<TITLE> Un título de página </TITLE>
<BODY>
<?PHP
print("El contenido que queremos mostrar.");
?>
</BODY>
</HTML>
Antes de continuar, vamos a destacar algunas cuestiones importantes que, si bien son
sencillas, son fundamentales para trabajar con PHP:
» Para que el servidor sepa que la página tiene código PHP, el fichero debe tener la
extensión .php.
» La etiqueta de cierre de PHP (?>) tiene que ser lo último de la línea en la que se
encuentre. Cuando el servidor encuentra esta etiqueta, ignora el resto de la línea. Por
este motivo, después de la marca de cierre de PHP habrá que incluir un salto de
línea.
» Las instrucciones PHP finalizan con ;.
Por supuesto, PHP permite incluir comentarios en su código. Hay distintas opciones,
pero aquí destacaremos las que siguen el formato de C o C++.
*/
Lo siguiente que necesitamos saber son los tipos de datos que encontramos en PHP.
De nuevo, verás que son similares a los que ya conoces de otros lenguajes:
Además de estos tipos, PHP permite trabajar con cadenas, arrays y objetos. Pero estos
tipos de datos, más complejos, los estudiaremos en el siguiente tema.
Una característica de PHP es que el programador no indica de qué tipo son las variables,
sino que se decide en tiempo de ejecución. No obstante, se puede consultar el tipo de una
variable (gettype / is_unTipo) o forzar la conversión a un tipo concreto (settype).
PHP incluye algunas funciones específicas para trabajar con las variables:
Y algunas variables predefinidas, que contienen información que puede resultarnos útil
cuando estamos programando. Algunas no te servirán todavía, no te preocupes,
encontrarás su utilidad más adelante:
Por otra parte, podremos incluir también constantes, esto es, nombres que le damos a
valores concretos. Por ejemplo, si necesitamos utilizar el valor 3,14159 muy a menudo en
nuestro programa, podríamos incluir una variable PI que represente ese valor. También
se usan constantes para indicar valores límite. Por ejemplo, si el número máximo de
iteraciones se fija en 1000, podemos definir MAX_IT que, inicialmente, representará
1000. Pero, si por alguna razón, se decide modificar ese valor, bastará con reasignar el
valor de la constante, evitando tener que buscar en nuestro código todas las veces que se
ha usado el valor 1000 como número máximo de iteraciones.
El valor de las variables se asigna utilizando la función define, tal como se muestra en el
ejemplo:
define(“PI”, 3.14159);
define(“MAX_IT”, 1000);
También existen constantes predefinidas que nos van a facilitar la programación ya que,
por ejemplo, hacen referencia a información del sistema.
Por otra parte, PHP permite escribir expresiones y admite distintos tipos de operadores:
de asignación, aritméticos, de comparación, lógicos, etc. Seguro que ya conoces el
funcionamiento de estos tipos de operadores, pero a continuación te presentamos un
conjunto de tablas que los incluyen.
/* -----
Operador ternario: Su equivalente a un condicional
if ( $varBooleana == true ) $res = 1;
else $res = 0;
------*/
En esta sección has podido comprobar que aprender PHP es fácil si ya tienes nociones
de programación. A partir de ahora, vamos a entender cómo ese código se combina con
el HTML para que el usuario final vea los resultados de nuestros programas.
Además de las ideas clave que se desarrollan en este apartado, debes estudiar el
contenido del capítulo 3 (páginas 29 a 42) del siguiente libro: Beati, H. (2013). El gran
libro de PHP: creación de páginas web dinámicas. España: Marcombo, S. A.
En este punto del tema, ya sabemos cómo funciona, en líneas generales, la creación de
contenido dinámico en el lado del servidor: el servidor interpreta el código PHP
incrustado en el código HTML y lo sustituye por el resultado de esa ejecución que es, a
su vez, código HTML. Para hacerlo, en este apartado aprenderemos distintos
mecanismos para incrustar el código PHP en el HTML, que nos darán flexibilidad en
nuestra labor de programación.
Una cuestión fundamental para que el contenido dinámico pueda generarse, es escribir
el código HTML correspondiente, que será devuelto desde el servidor al cliente
(navegador) y que, por tanto, será visualizado por el usuario. La manera más común de
hacerlo es usando la función print(). Escribir texto con esta función es muy sencillo:
solo tenemos que encerrarlo entre comillas dobles. Sin embargo, al escribir código HTML
dentro de esta función, nos encontraremos que, a veces, tendremos que incluir también
comillas. Para resolver este problema, tenemos dos opciones:
Puedes encontrar ejemplos del uso de la función print() en el capítulo del libro sugerido
en el apartado 1.1. ¿Cómo estudiar este tema?. A continuación incluimos uno de ellos:
<?PHP
?>
Alternativamente, se puede usar el comando echo, cuya principal diferencia con print()
es que no hay que usar paréntesis. Aunque sí permite el uso de comillas dobles o simples.
No obstante, habrá ocasiones que tengamos que incluir mucho código HTML desde
PHP. En estos casos, escapar los caracteres o escribir numerosas funciones print()
puede resultar muy tedioso. Para estos casos, utilizaremos los bloques heredoc. Lo que
se escribe dentro de este tipo de bloques se transcribe al fichero HTML, interpretando
las variables.
Para utilizarlo, dentro de las marcas de PHP, colocaremos <<< al principio de la línea,
seguido de tres caracteres, de tal forma que estaremos nombrando nuestro bloque. Para
finalizar, lo único que tendremos que hacer será colocar esos mismos caracteres seguidos
de punto y coma, seguido un salto de línea. Por supuesto, tendremos que usar una
combinación de caracteres que no esté en el texto que queremos escribir, ya que eso daría
a entender al intérprete que el bloque ha finalizado.
Por tanto, la forma de usar los bloque heredoc, podría resumirse de la siguiente manera:
<?PHP
$texto = “¡Bienvenidos!”;
echo <<<EOT
?>
A veces, necesitamos incluir el mismo código en muchas páginas para, por ejemplo,
mantener la cabecera o los menús. Como ya sabemos, el hecho de tener información
repetida en varios sitios supone un problema, entre otras cosas de integridad. Por eso y
para facilitar la tarea de programación y actualización de nuestras páginas, PHP dispone
de las siguientes opciones (que podéis encontrar, ampliadas, en el capítulo del libro
propuesto en el apartado 1.1. ¿Cómo estudiar este tema? ):
» include/require: hacen la tarea equivalente a copiar y pegar el código del archivo que
queremos incluir en el lugar donde se indica. La diferencia entre ellos es que include
no detiene la ejecución del código, mientras que require sí lo hace.
» include_once/require_once: si el archivo que se quiere incluir ya ha sido incluido
desde otro punto, no vuelve a incluirlo (once significa una vez).
Ha llegado el momento de practicar todo lo que hemos aprendido en este tema. Una
vez que tenemos una visión general de cómo funciona la programación (dinámica) en la
parte del servidor y hemos revisado los elementos básicos de PHP, estamos en
disposición de preparar nuestra primera página web dinámica. Sin embargo, para
poder hacerlo, todavía tenemos que aprender algunas cuestiones relacionadas con el
alojamiento de las páginas.
Para que nuestro navegador nos muestre la web correspondiente a la URL que
escribimos, es necesario hacer la petición al servidor donde está alojada. Esto lo que
se conoce como hosting: cuando desarrollamos una página web, para que esté
disponible a cualquier usuario, es necesario que contratemos este servicio, que se
encargará de alojar (guardar) nuestra web y dar soporte. Evidentemente, lo deseable
sería que el servicio contratado contase con la última versión de PHP y de MariaDB, que
tuviera soporte 24 horas y que no resultara demasiado caro. A veces, esto es difícil por lo
que hay que hacer un análisis concienzudo para elegir la mejor opción.
Para montar nuestro servidor web, vamos a utilizar un instalador automático que se
encargará de descargar, instalar y configurar todos los programas que necesitamos:
XAMPP. Por medio de XAMPP tendremos en nuestro ordenador los siguientes
programas: Apache (servidor web), el intérprete de PHP, MariaDB (sistema gestor de
bases de datos, un fork de MySQL) y phpMyAdmin (herramienta para interactuar con la
base de datos).
Es necesario destacar que hay una versión de XAMPP para cada sistema operativo. Los
distinguiremos por la primera inicial: WAMPP para Windows, LAMPP para Linux,
MAXPP para Mac. Por tanto, cuando descarguemos el instalador, tendremos que
seleccionar el que corresponda con nuestro sistema operativo.
Este software es libre y gratuito, por lo que podemos instalarlo sin ningún problema
legal.
Esto ocurre también con la versión que viene en el manual de Eslava, anterior a la que
mostrarnos aquí.
Ya lo tienes todo preparado para hacer tus pruebas. Lo único que te falta por saber es que
tienes que colocar tus archivos en la carpeta htdocs de XAMPP para que puedas
visualizarlos desde tu navegador.
Lo + recomendado
No dejes de leer…
Php. Su primera página con PHP. Manual de PHP [en línea]. [fecha de consulta: 1
Septiembre 2015].
No dejes de visitar
Apache friends
Accede a la página web a través el aula virtual o desde la siguiente dirección web:
https://www.apachefriends.org/es/community.html
+ Información
A fondo
Historia de PHP
Php. Historia de PHP. Manual de PHP [en línea]. [fecha de consulta: 1 Septiembre
2015].
En este tema, hemos aprendido los conceptos básicos de PHP. Este lenguaje, como todo
en informática, ha evolucionado también a lo largo del tiempo y es interesante conocer
cómo lo ha hecho. Si tienes interés en saber de dónde surge PHP y cómo ha ido
cambiando a lo largo del tiempo, puedes visitar el siguiente enlace.
Accede al manual a través del aula virtual o desde de la siguiente dirección web:
http://php.net/manual/es/history.php.php
Operadores
Php. Operadores. Manual de PHP [en línea]. [fecha de consulta: 1 Septiembre 2015].
En el desarrollo se han estudiado tablas con los operadores principales, pero existen
algunos tipos más y reglas de procedencia que puedes consultar.
Enlaces relacionados
Manual de PHP
En este tema hemos trabajado, principalmente, las bases del lenguaje PHP. Una de
las ventajas de este lenguaje es la cantidad de información, documentación y foros
que podemos encontrar al respecto. En el siguiente enlace puedes encontrar mucha
información de todos los aspectos relacionados con el lenguaje PHP, ordenado
convenientemente con un índice.
Bibliografía
Rollet, O. (2015). Aprender a desarrollar un sitio web con PHP y MySQL. España:
ENI.
Este libro está enfocado a programadores que ya conocen HTML y CSS y que quieren
entender el funcionamiento de una aplicación web para poder crear sus propios sitios
web dinámicos con PHP y MySQL. En esta asignatura estamos trabajando con
MariaDB, que se basa y es compatible con MySQL, por lo que lo obtenido de este libro
puede ser igualmente aplicable a ejercicios prácticos con MariaDB.
Recursos externos
XANPP Apache
Nos permitirá utilizar nuestro ordenador como servidor web local. Es imprescindible
para poder probar nuestras páginas web dinámicas con computación en el servidor.
Accede a la página web a través del aula virtual o desde la siguiente dirección:
https://www.apachefriends.org/es/index.html
Navegadores
Accede a las páginas web a través del aula virtual o desde las siguientes direcciones:
Google Chrome
https://www.google.es/chrome/browser/desktop/index.html
Este tipo de editores son muy útiles para programadores, ya que escriben de un color
distinto las palabras reservadas de los lenguajes de programación. De esa forma,
podemos detectar fácilmente, por ejemplo, si hemos escrito mal alguna instrucción.
Igual que en el caso anterior, es posible que ya utilices un editor con resaltado
sintáctico. Si es así, puedes seguir usándolo. De todas formas, a continuación
encontrarás el enlace a algunos otros.
Accede a las páginas web a través del aula virtual o desde las siguientes direcciones:
NetBeans
https://netbeans.org/
NotePad++
http://notepad-plus-plus.org/
PsPad
http://www.pspad.com/es/download.php
Sublime Text
http://www.sublimetext.com/download
gedit
http://gedit.uptodown.com/
Test
5. En PHP:
A. Se pueden asignar variables por valor y por referencia.
B. Las variables se asignan por valor.
C. Las variables se asignan por referencia.
D. Solo se usa el valor por referencia cuando el argumento se pasa a una función.