sábado, 22 de diciembre de 2007

PHP en NetBeans 6.0

PHP es un lenguaje de programación basado en scripts muy popular, fácil de aprender, de desplegar, es multiplataforma (igual que java, solo necesita de un programa que interprete el lenguaje para que lo convierta a la plataforma ya sea Linux, Windows o cualquiera), y sobretodo... es libre.

No tiene un IDE específico, por lo que es necesario navegar por la documentación para recordar las sentencias... a menos que uno tenga buena memoria para recordarlas todas. Lo que está de moda en los IDEs es la coloración de sintaxis y el autollenado de sentencias.

Existen varios IDEs que están apostando por este lenguaje que no es nada nuevo. Uno de ellos es CodeGear con su Delphi for PHP. Y Eclipse tiene un subproyecto que esta trabajando en un plugin para manejar PHP llamado PHP Development Tools.

La gente de NetBeans - por su puesto - no se queda atrás. Por lo que en el NetBeans 6.0 han puesto a disposición un plugin (a la fecha de este post) en versión beta.

Veremos como configurarlo, y haremos una simple aplicación con PHP. No voy a dedicarme a enseñar PHP, ya que este blog no es para aprender PHP :P

Instalando el plugin de PHP

En el NetBeans 6.0 entramos a la opción Tools > Plugins y buscamos de la sección "Available Plugins" a PHP de categoría Scripting. Activamos su check...


... y hacemos clic en el botón Install. Aceptamos las ventanas que se nos muestra, descargará lo necesario del plugin (el plugin en sí, así como su documentación, etc)...

... y aceptamos reiniciar el IDE para cargar el plugin.

Configurando nuestro computador para que funcione PHP

El PHP necesita de un servidor web para que funcionen los scripts. PHP puede configurarse sobre Apache Server (muy recomendado) o sobre IIS. Así que nos centraremos en instalar el Apache Server con el PHP.

Apache + PHP sobre Linux

Si eres un linuxero, no tienes porque leer esta parte, pero aún así, es bueno recodarlo: si usas Centos, Fedora o similar.. usa el comando yum. Si usas Ubuntu, Debian o similar, usa apt


Probemos como se ve en el navegador, y recordemos la carpeta que se publica.
... aquí se publica en /apache2-default

Apache + PHP sobre Windows

Existen software ya empaquetados que permiten instalar toda la plataforma WAMP (Windows + Apache + MySQL + PHP) y no tendríamos que preocuparnos en como configurar estos software. Uno de ellos es WampServer. Pero personalmente opino que es mejor que uno mismo lo configure. Solo bastaría descargar el Apache Server, el PHP 5 (el que está en .zip) y leer la documentación de como instalarlo en windows con apache2.

Creando proyecto en Netbeans 6.0

Creamos un nuevo proyecto y seleccionamos en las categorías a PHP, como proyecto a "PHP Project".
... clic en "Next".
Escribimos como nombre de proyecto HelloPhpProject. También indicamos en que carpeta deseamos crear el proyecto.

... clic en "Next".
A continuación nos mostrará qué servidor web se usará.

Ya que es nuestra primera vez que estamos usando el NetBeans para PHP, haremos clic en "Manage".

Nos mostrará la ventana para registrar el servidor web. Hay dos tipos de publicación: si está accesible desde una unidad de disco (por mapeo de una carpeta remota o si está en nuestro computador) o si es accesible vía ftp. Esto es lo que nos esta preguntando en esta ventana.

Así que escribiremos en Connection name "Local Web Server" y como tipo de servidor "Local web Server with file Access", ya que tenemos el apache server en nuestro computador. Clic en 'Next'.

Luego nos pide el archivo de configuración de Apache Server. Como estoy en Ubuntu, le selecciono el apache2.conf

Esto es porque buscará cierta configuración sobre directorios virtuales y demás. Pero en Ubuntu se usa apache2.2 y pues la configuración está delegada a otros archivos, y eso no lo puede interpretar el NetBeans... por eso aún es beta.

Clic en "Next"

Colocaremos el nombre del servidor y el puerto que utilizará, así como la carpeta que utilizará para la publicación.


Esta información lo usará el NetBeans al lanzar la aplicación para ejecutarla.
Clic en 'Next'.

Ahora, indicaremos la carpeta de nuestro disco donde estarán ubicados los archivos que se publicarán.

Recordemos que debe ser la carpeta que está asociada a la carpeta pública de internet. En el caso de ubuntu, este se encuentra en /var/www/apache2-default
Clic en 'Finish'.
Nota: Recordemos tener los permisos necesarios para guardar archivos.

Ahora que ya hemos creado nuestro configuración del servidor web para NetBeans, lo seleccionamos:

Clic en 'OK'

Ahora veremos como lucirá la aplicación en ejecución.
La ruta del contexto es /HelloPhpProject
La ruta web será: http://localhost:80/apache2-default/HelloPhpProject
y se creará la carpeta para los archivos: /var/www/apache2-default/HelloPhpProject

Estamos de acuerdo que así será y tiene mucho sentido que así debe funcionar.

Clic en 'Finish'
Y ya, tenemos nuestro proyecto de PHP con un index.php listo para editar.

Haciendo nuestro primer formulario

No es cosa del otro mundo programar en PHP, así que haremos una simple aplicación que consistirá en un formulario donde se registran nombres y se muestra una lista de los mismos.

Pues bien, escribiremos un formulario con una sola entrada llamada nombre.

Vemos que al escribir los tags, el IDE nos mostrará las sugerencias y los atributos de los mismos.
Tratemos de escribir el siguiente código y veremos como se va autoescribiendo el código necesario.
<?php session_start();?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<form action="index.php" method="post">
Nombre: <input type="text" name="nombre" /><br/>
<input type="submit" />
</form>
<?php
$lista=$_SESSION["lista"];

if ($nombre=$_POST["nombre"]){
$lista[]=$nombre;
}
if ($lista){
echo "<ul>";
foreach ($lista as $elem) {
echo "<li>$elem</li>";
}
echo "</ul>";
}
$_SESSION["lista"]=$lista;
?>
</body>
</html>

Ejecutando el programa

Como todo proyecto en NetBeans, bastará con presionar la tecla F6. Se ejecutará nuestro navegador, y veremos ejecutar el proyecto tal cual lo hemos programado.

Para terminar...

Físicamente, los archivos están dentro del directorio del proyecto que se definió al momento de crearse. Al momento de ejecutar el proyecto, lo que hace NetBeans es copiar la carpeta del proyecto con todos sus archivos y los coloca en el directorio del Apache Server. Si volvemos a ejecutar el proyecto, volverá a copiar los archivos. Así que si editamos el archivo y lo guardamos, no podremos verlo en el navegador hasta que presionemos la tecla F6, o ejecutemos el proyecto.