Publicado en www.lopeztorrijos.com (http://www.lopeztorrijos.com)

Inicio > Programación php

Programación php

Tutoriales relacionados con la programación php

logo php

Manual oficial [1].

 

Programación php - Prerrequisitos

Para poder programar con php y ver los resultados necesitamos un servidor web (php), configurado adecuadamente para que sirva las páginas que componen nuestro proyecto.

Puedes encontrar un tutorial de como preparar un servidor local en tu propia máquina Linux aquí [2] , y en una máquina Windows aquí [3]

Para crear nuestros scripts podemos utilizar cualquier editor de texto, pero lo mas recomendable es utilizar un IDE (Entorno de desarrollo Integrado), Aplicación que nos facilita muchas de las tareas a realizar mientras programamos. En nuestro caso utilizaremos eclipse  [4] en su perspectiva para php.
Eclipse es una aplicación que funciona con java por lo que tendremos que instalar primero java tanto el jre como el jdk. Puedes encontrar las instrucciones en http://www.webupd8.org/ [5]. Y una versión en castellano aquí [6].

Instalaremos una herramienta de depuración Xdebug  [7] Esta herramienta nos permitirá ejecutar nuestros scrips paso a paso para así poder localizar posibles errores que de otra forma serían dificil de encontrar.

Por ultimo utilizaremos una herramienta para generar la documentación de nuestra programación (no es la documentación de usuario), en este caso usaremos apigen [8] si hemos instalado un servidor de php>=5.4 y si hemos instalado un servidor php 7 utilizaremos phpDox [9].

Instalando eclipse para php

Descargamos eclipse para php de la página oficial [10].

Seleccionamos el paquete adecuado, en mi caso el de php 64bits, y lo descargamos.

Descargar eclipse neon php

Con esto nos descargaremos un archivo comprimido, lo guardamos en una ubicación que nos parezca adecuada (p.e. /home/nuestro usuario/IDE/)

Lo descomprimimos y se crea una carpeta llamada "eclipse" que contiene todo lo necesario para que eclipse funcione, así como el ejecutable (eclipse). Si habéis seguido el ejemplo indicado el ejecutable se encontrará en /home/nuestro usuario/IDE/eclipse/eclipse

La forma mas rápida de descomprimir el archivo es con nautilus, botón derecho sobre el .tar.gz (el archivo comprimido descargado) ->extraer aquí.

Podría resultar interesante crear un lanzador en nuestro escritorio, para lanzar eclipse, puedes ver como aquí [11].

 

Instalando Xdebug

Ahora vamos a instalar Xdebug, esta extensión para php nos permite ver paso a paso la ejecución de nuestros scripts, y así poder encontrar errores de programación mas fácilmente.

Puedes seguir las instrucciones originales [12], o bien seguir estas que se ajustan al resto de instrucciones:

  • Vamos a instalar Xdebug mediante pecl, así que primero vamos a localizar pecl desde un terminal,
    whereis pecl
  • Si nos aparecen varias ubicaciones utilizaremos la que se encuentra en la ruta de nuestro servidor local ( /opt/lampp/bin/pecl ), ya que así instalara Xdebug en el servidor local que nos interesa.
  • Instalamos Xdebug desde el terminal, si leemos los mensajes devueltos muy probablemente veremos que no ha podido modificar el archivo de configuración php.ini, tarea que deberemos realizar nosotros mismos,
    sudo /opt/lampp/bin/pecl install xdebug
  • Vamos a tener que editar el archivo php.ini que se encuentra bajo /opt por lo que vamos a necesitar permisos de root, desde el terminal
    sudo gedit /opt/lampp/etc/php.ini
    añadimos las siguientes líneas, en principio no todas son necesarias ya su configuración por defecto coincide. La única línea que deberemos modificar es la correspondiente a zend_extension, indicando la ubicación correcta según nuestra instalación, solamente cambiará el directorio no-debug-non-zts-20151012

    ;xDebug Configuration start
    zend_extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
    xdebug.profiler_output_dir = "/tmp/xdebug/"
    xdebug.profiler_enable = On
    xdebug.remote_enable=On
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9000
    xdebug.remote_handler="dbgp"
    xdebug.max_nesting_level=256,

    ;xDebug Configuration ends

  • No debemos olvidar reiniciar apache para que los cambios surtan efecto

Si habéis optado por instalar xampp, podéis comprobar si todo ha ido bien y si se ha activado correctamente la extensión Xdebug

Desde el manager de xampp se inicia o reinicia apache.

En un navegador visitamos localhost

En el menú superior visitamos la opción de phpinfo, y localizamos la sección de xdebug, deberiamos ver algo como lo siguiente

Phpinfo zona xdebug

 

 

 

Configurar eclipse - trabajando con el sitio local y XDebug

Partimos de un sitio local creado como se indicó en una entrada anterior de este mismo tutorial, p.e. lopeztorrijos.local

En el menú de eclipse abrimos File>open projects from file system .

Eclipse mportar proyecto  desde el sistema de archivos

Click en el botón Directory y seleccionamos la carpeta donde se ubica nuestro sitio (/home/usuario/www/lopeztorrijos.local

Mantenemos el resto de opciones y pulsamos el botón Finish. De esta forma creamos el proyecto vinculado a los posibles ficheros que tengamos o creemos en nuestro proyecto.

Ahora necesitamos crear la configuración para el servidor del proyecto, para ello abrimos Window > Preferences

Eclipse configurar servidores php

 

En la columna de la izquierda desplegamos el apartado PHP y pulsamos sobre Servers. Click en el botón New.

Eclipse php creación servidor

 

Server Name : Nombre Descriptivo

Base U.R.L.: Dominio.Local

Document Root: Pulsamos Browse y localizamos la ubicación de nuestro sitio

Pulsamos el botón  Next . Nos lleva a la siguiente fase.

Eclipse php creación servidor XDebug

 

En la nueva sección, en el desplegable seleccionamos Xdebug , el resto de opciones las dejamos tal y como aparecen.

Pulsamos sobre Global Settings en la zona superior derecha, y se nos abrirá la configuración global para XDebug. Estas opciones serán compartidas por todos los proyectos

Eclipse php creación servidor XDebug, configuración general

 

Modificamos las opciones:

Accept remote session (JIT) , y la ponemos a off .

Max array depth, Max children, Max data a los valores que necesitemos.

Output capture , ambas a copy

Pulsamos OK.

y pulsamos Finish.

Y ya tenemos configurado eclipse para trabajar con nuestro servidor local y con la posibilidad de depurar nuestro código, gracias a XDebug.

 

Eclipse php Probando XDebug

Ahora comprobaremos que todo funciona como debería.

Tenemos el servidor apache en funcionamiento con el sitio .local para nuestro ejemplo creado.

Hemos instalado XDebug.

Eclipse está instalado y configurado.

En eclipse sobre el proyecto recientemente creado (lopeztorrijos.local, según el ejemplo), pulsamos con el botón derecho del ratón y creamos un nuevo archivo php. Lo llamaremos index.php, en realidad nos da igual el nombre solo es para realizar una prueba.

 

 

En este archivo pegamos las siguientes líneas de código php, que simplemente escribe en la ventana de nuestro navegador los números del 0 al 49:

<?php
for($i=0;$i<50;$i++)
{
echo $i."<br>";
}
?>

Guardamos el archivo File > Save

Procedemos a ejecutar nuestro programa en modo depuración

Se nos abrirá una ventana preguntándonos en que modo queremos depurar nuestro programa, en nuestro caso Php web Application, y click en Ok.

 

Ahora se nos abre un ventana preguntándonos cual es la ruta en el servidor para esta página, fijaos en que entre el nombre de dominio lopeztorrijos.com y el nombre de la página eclipse nos añade el nombre del directorio de nuestro proyecto, debemos eliminarlo

 

La URL debe quedar como sigue http://lopeztorrijos.local/index.php, ya que sino no encontrará la página

Al dar ok, se abrirá la "perspectiva debug" de eclipse, esto significa que se abre una configuración de ventanas en eclipse que nos muestra información de depuración de nuestro programa (index.php). Si habéis seguido el tutorial exactamente, veréis algo parecido a la siguiente imagen

 

 

Os voy a explicar muy superficialmente algunas zonas y como depurar nuestro programa

 

En rojo:

  • Superior izquierda: botones para controlar la depuración.
  • Superior derecha: botón de selección de perspectiva debug, a su izquierda perspectiva de desarrollo php.
  • Medio izquierda: fichero que se esta depurando y en que línea se encuentra la ejecución.
  • Medio derecha: variables que se están observando en la depuración.
  • Inferior izquierda: pestaña con el navegador integrado de eclipse.
  • Inferior derecha: variables no globales que queremos observar.

En azul:

  • Botón que salta a la siguiente línea de ejecución. Pulsando este botón podéis ver como se va incrementando el valor de $i en la zona correspondiente.

 

 

Francisco Javier López Torrijos
Analista Sistemas Informáticos de Gestión
Diseño y Desarrollo Web

 


URL de origen (modified on 09/30/2016 - 18:54): http://www.lopeztorrijos.com/node/69

Enlaces
[1] https://secure.php.net/manual/es/index.php
[2] http://www.lopeztorrijos.com/tutoriales/instalar-xampp-como-servidor-local/instalacion-de-xampp-para-linux
[3] http://www.lopeztorrijos.com/tutoriales/instalar-xampp-como-servidor-local/instalacion-de-xampp-para-win
[4] https://eclipse.org
[5] http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
[6] http://www.lopeztorrijos.com/tutoriales/programacion/java/instalar-linux-java-jre-jdk
[7] https://xdebug.org
[8] http://www.apigen.org
[9] http://phpdox.de/
[10] https://www.eclipse.org/downloads/eclipse-packages/
[11] http://www.lopeztorrijos.com/tutoriales/linux/como-se-hace-en-linux/crear-lanzador-escritorio
[12] https://xdebug.org/docs/install