|
Server Side \ Curso-Taller de PHP en IRC Curso-Taller de PHP en IRC
Este artículo ha sido consultado en 1,646 ocasiones. Temario
1) Instalación con Apache
2) Variables
3) Arrays
4) Constantes
5) Formularios: GET y POST
6) Operadores aritméticos
7) Operadores lógicos
8) Manejo de flujo con if y switch
9) Bucles con for, foreach y while
10) Leer y escribir un archivo de texto
Bienvenidos MonoNeurones!
este es un curso-taller de PHP
Weno, a lo que nos truje chenchas
Es importante que me interrumpan si alguien tiene una duda.
PHP fue creado por Rasmus Lerdorf en 1995, en 1998 Andi Gutmans y Zeev Suraski creadores de Zend
reescribieron el core del lenguaje. Desde la versión 3 PHP logró un enorme éxito pues es rápido, sencillo y poderoso
Jommla, WordPress, Typo3, Yahoo! entre otros, están escritos en PHP
es el lenguaje de facto en internet y está instalado en más de 12 millones de servers.
actualmente se encuentra en la versión 5.
existen varias maneras de clasificar a los lenguajes de programación
entre ellas está dividirlos en Lenguajes "altamente tipificados" (LAT) y los lenguajes "typeless" (sin tipos)
en los altamente tipificados cada variable debe tener un tipo,
por ejemplo Java es un LAT y para declarar una variable se debe indicar si es de
tipo entero, string o de coma flotante
PHP, al igual que python y ruby, es un lenguaje "typeless", es decir no es necesario
declarar el tipo de la variable.
PHP además, es un lenguaje tipo "script", es decir no es necesario compilar los archivos como C, C++ o Java.
Vamos a instalar PHP5:
$sudo apt-get install php5 php5-cli
cli "command-line interpreter" porque estos primeros ejercicios los vamos a hacer en la consola.
Vamos a crear nuestro primer script, podemos usar el editor de texto que queramos,
si estamos en KDE podemos usar Kate, en Gnome Gedit está muy bien, personalmente prefiero Jedit.org, pero esa es elección de cada uno.
Una vez que hemos abierto el editor vamos a la página:
http://www.mononeurona.org/scripts/miprimer.php.txt
Copiamos todo el contenido y lo pegamos en nuestro editor
y lo salvamos como miprimer.php. abrimos una consola nos colocamos en el directorio donde guardamos el archivo y tecleamos:
$php miprimer.php
veremos tres lineas :
"Este es mi primer script en PHP5"
"Esto esta fuera del bloque"
"Esta es otra linea"
como pueden ver existen tres maneras de colocar comentarios en PHP,
colocando una doble diagonal "/", un sostenido #
o una barra asterisco /* para comentarios de varias líneas que deben terminar con */,
PHP simplemente ignora estas partes.
Los comentarios son muy importantes pues con ellos explicamos que es lo que hace
el script y cómo lo hace.
El código en PHP comienza con >php y termina con ?<
a esto se le llama "bloque". Lo que está fuera del (o los) bloque(s) es automáticamente impreso como texto plano.
"impreso" quiere decir hacer visible la informacion
Noten que pueden imprimir con "print" y con "echo", en general se prefiere "echo"
pues es un poco más rápido que print.
Noten además que los comandos en PHP terminan con un punto y coma (;) que es el equivalente a dar "enter" en la consola
las "\\n" al final de la lineas indican un "salto de línea", es decir, es como dar "enter" en el procesador de texto.
Ahora veamos el archivo:
http://www.mononeurona.org/scripts/misegundo.php.txt
Copialo a tu editor, salvalo y correlo:
$php misegundo.php
En este archivo ya tenemos cuatro variables, en PHP las variables comienzan con un signo de dinero ($) $pais, $nombre, $chelas, $precio
cambia tu nombre y tu lugar y vuelve a correr el script.
como ven imprimimos con muchos "echo", esto es incómodo y hace al script muy largo,
vamos a hacer una concatenación, concatenar es simplemente unir varias líneas
en PHP la contenación se hace con un punto (.),
vamos a cambiar el script para que en lugar de todos los "echos" quede una sola línea asi:
echo "Saludos " . strtoupper($nombre) . " eres de " . $pais . " llevas " . $chelas . " cervezas, cada una cuesta \\$". $precio . "\\n";
Sencillo, no?, noten la "\\$", como dijimos antes, las variables en PHP comeinzan con un "$" asi que si queremos
imprimir el simbolo monetario necesitamos hacer algo que se llama "escapar el caracter", para escapar un
caracter se usa la diagonal invertida "\\", ya la habíamos usado al escapar la "n" para indicar un salto de linea: "\\n"
la función strtoupper() de php sólo cambia todas las letras a mayúsculas, strtolower() las cambia a minúsculas.
Las variables, como indica el nombre, se refieren a información que puede tomar diferentes valores a través del programa,
pero también podemos manejar informacion estatica o constante, veamos el archivo:
http://www.mononeurona.org/scripts/mitercero.php.txt
Este archivo es casi igual al anterior pero tiene la declaración:
define('FREGON', 'MonoNeuron');
Esta es una definición de constante la constante es 'FREGON' y no puede cambiar durante la ejecución,
guarda este archivo y ejecutalo como:
$php mitercero.php
Ahora descomenta las dos ultimas líneas y vuelve a ejecutarlo, como veras FREGON no cambia.
Las constante son muy utiles, por ejemplo para traducir palabras clave del inglés al español de una página
y para muchas cosas más.
Ahora veamos el archivo:
http://www.mononeurona.org/scripts/elcuarto.php.txt
Salvalo y correlo:
php elcuarto.php
este script es muy similar a los anteriores pero en lugar de usar variables usamos un array (arreglo) para guardar la información
un array es simplemente un grupo de variables que se agrupan:
$mi_array = array(67, "texto aqui", 6, "otro texto"); $mi_array[0] = 67: $mi_array[1] = "texto aqui" $mi_array[2] = 6; $mi_array[3] = "otro texto";
para acceder a los elementos se usa una llave o indice: $mi_array[0]
noten que el primer elemento de un array tiene el indice cero "0" y no "1", es decir si tengo el array:
$Meses = array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
e imprimo:
echo $Meses[1];
me imprimira "Febrero" pues enero es el indice 0. ¿todo claro?
una vez creado el array sus elementos siempre se pueden sobreescribir, por ejemplo :
$mi_array[3] = 6.30;
cambiara el precio de la cerveza de 5.25 a 6.30
php tiene un monton de funciones para manejar arrays:
http://www.php.net/array
una de las más usados es count(), la cual nos regresa el numero de elementos que tiene un array.
muchas veces usar arrays tiene muchas ventajas sobre usar variables.
este array que hemos visto asigna un índice númerico automaticamente cuando creamos el array:
$mi_array = array("Tacubaya, DF, Mexico", "Pancho lopez", 4, 5.25);
Junto a este tipo de arrays existen los "arrays asociativos", también conocidos como hashtables.
veamos: http://www.mononeurona.org/scripts/elquinto.php.txt
Aqui en lugar de que se asigne un indice (key) numerico, el indice lo declaramos nosotros
Los arrays de este tipo son muy útiles, por ejemplo en un programas podríamos asociar el
numero clave de los empleados con su RFC si necesitamos usar los dos.
También los elementos de las hashtables se pueden subreescribir:
$Capitales['Edomex'] = 'Otra ciudad';
aunque no creo que la capital cambie ;-)
Estamos ya usando un control de flujo, foreach, el cual simplemente "parsea" un array para "desmenuzar"
los valores que contiene, a este tipo de control de flujo se le conoce como "iteración":
la Wikpedia dice:
Iteración: en programación es la repetición de una serie de instrucciones en un programa de computadora. Es decir hacer loops (ciclos)
foreach es una forma de iteracion para array, no obstante la iteración más básica es asi:
for ($i=0; $i < 20; $i++) {
echo "Ciclo " . $i . "\\n";
}
Copien y ejecuten estas lineas.
Explicacion: $i (de "iteracion") empieza en 0, mientras sea menor a 20 da un loop (ciclo)
y suma 1, en casi todos los lenguajes el "++" significa "suma 1" mientras "--" significa "resta 1"
Sabiendo todo esto podemos "parsear" un array sin necesidad de foreach:
Copia y ejecuta: http://www.mononeurona.org/scripts/elsexto.php.txt
facil, no?
Bien nuestros ejercicos en la consola han concluido, vamos al web,
hay que instalar apache2 y su modulo de php5:
$sudo apt-get install apache2 libapache2-mod-php5
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Este mensaje lo ignoramos y nos colocamos en http://127.0.0.1 en firefox
Hay algo que debmos comprender antes de seguir
apache, el webserver es un porgrama que se ejecuta por un usuario especial
en debian/ubuntu ese usuario es www-data. Tanto el demonio de apache como el directorio
/var/www son propiedad del usuario www-data y para hacer las cosas correctamente debemos asignarnos un directorio
$sudo mkdir /var/www/project
$sudo chown -R manuel.manuel /var/www/project/
cambia "manuel" por tu usuario, teclea "whoami" para saber quien eres.
Ahora si ya podemos escribir en /var/www/project:
veamos este archivo:
http://www.mononeurona.org/scripts/cuenta.php.txt
Lo guardamos como /var/www/project/cuenta.php
y nos colocamos en http://127.0.0.1/project/cuenta.php
Debes ver "Bienvenidos a Zapata's bar!!" y la cuenta y el FREGON y lo demás.
Nota que en cuenta.php hay algunas coas diferentes, hay tags html, body, head
porque ahora ya estamos en la interné, ya no hay '\\n' ahora se cambiaron a $gt;br /$lt;
porque BR es el tag para salto d eliena en la web, además ya no hay "#!/usr/bin/php"
porque ya no estamos en la linea de comandos y ahora apachge es eñ que se encarga de ejecutar
todos los archivos .php
existen dos maneras de enviar informacion por el protocolo HTTP (el de internet) GET y POST,
veamos:
http://www.mononeurona.org/scripts/ejemploget.php.txt
Lo guardamos como:/var/www/project/ejemploget.php
y lo ejecutamos colocandonos en:
http://127.0.0.1/project/ejemploget.php
Parece que es lo mismo que en cuenta.php, pero si escribes esto en Firefox:
http://127.0.0.1/project/ejemploget.php?nombre=Julio Perez&chelas=45
Veras que el nombre y la cuenta cambia. Para "tomarlas" necesitan indicarle a PHP que están ahi y como se llaman
$chelas = ( isset($_GET['chelas']) && is_numeric($_GET['chelas']) ) ? $_GET['chelas'] : 4; Veamos las lineas:
if ( condicional )
{
proceso
}
else {
proceso
}
Ahora hagamos el siguiente ejercicio, agreguemos este código a la página cuenta.php:
<html>
<form action="procesar.php" method="post">
Introduzca su nombre:<input type="text" name="nombre">
Introduzca sus apellidos: <input type="text" name="apellidos">
<input type="submit" value="Enviar">
</form>
</html>
y creamos el script: /var/www/project/procesar.php en el colocamos:
<?php echo $_POST['nombre']; ?>
Última actualización: 2007-04-29 10:56:59-05
|