sábado, 8 de agosto de 2009

Segundos Pasos

Bueno amig@s, estoy aquí para publicar la continuación de la primera publicación. Hoy me gustaría hablarles de los bloques de repeticion, ciclos o como quieran llamarlos.

FOR
Este tipo de bloque se utiliza cuando conocemos el límite o cantidad de ciclos que ejecutaremos, esto es, en la mayoría de los casos claro, hay excepciones, pero como esto es con fines de aprendizaje solo resumiré en eso.

un ejemplo sería este:
<?php
//ejemplo de uso del ciclo for
$limite = 100; //limite
for($indice=0;$indice<$limite;$i++)
{
echo "Imprimiendo el indice: ".$indice."\n
"
;
}

?>


como podran ver el bloque for consta de 3 sentencias en una, la primera, es la inicializacion de indice en 1, la siguiente es la condicion de permanencia es decir mientras el indice sea menor al limite, y por ultimo la sentencia de autoincremento.

es posible hacer un 'bucle infinito' escribiendo la sentencia

<?php
$indice=0;
for(;;)
{
//este ciclo se ejecutara de forma infinita si no se interrumpe
if($indice < 100)
{
echo "valor del indice ".$indice;
}elseif($indice == 100)
{
$indice++;
continue; //sin ese autincremento la sentencia nunca acabaria
//pues el continue termina el ciclo actual pero no
//el resto de los ciclos

}else
{
break;
//este break; hace que se termine el bloque 'for'
}
$indice++; //esta sentencia se ejecutara casi todas las veces menos
//cuando valga cien y cuando esté por encima de los cien
}

?>
pueden profundizar más el conocimiento de break, visitando el siguiente enlace
utilize también la sentencia continue, la cual tambien pueden profundizar en este sitio
WHILE
La sentencia while es una de las mas simples, solo necesita una condición de verdad para mantenerse dentro y continuar ejecutandose, si no es verdadera se sale o directamente no se ejecuta su contenido y se pasa a la siguiente sentencia.

veamos un ejemplo:

<?php
$indice=0;
while($indice <= 100)
{
echo "valor de indice: $indice";
//como veran, el valor de $indice esta dentro de la cadena
//esto es posible con php, solo asegurense de usar
//comillas dobles ""
$indice++;
}

?>

FOREACH
Esta es una de las sentencias que mas se usa para recorrer arreglos, o por lo menos para no generalizar tanto la que mas usaria yo. Es una sentencia bastante sencilla que simplifica bastante el recorrido de arreglos.

Veamos un ejemplo:

<?php
for($indice=0;$indice < 100; $indice++)
{
$my_arreglo[$indice+10] = $indice * $indice;
//con esto guardamos el valor de $indice al cuadrado
//en la posicion donde este $indice
$my_otro_arreglo[] = $indice + $indice;
$ultimo_arreglo["una_cadena".$indice] = $indice / 100;
}
/*
como veran creamos tres arreglos, el primero empezara
en el valor numero 10, con lo que indicamos que no existe
una restriccion que nos obligue a comenzar en el cero
como lo haria otro lenguaje,
tambien tenemmos al segundo, al poner de esta forma []
indicamos que el arreglo se iniciara en el valor cero, y los
indices siguientes seran el anterior mas uno, pero podemos hacer
que empiecen donde queramos por ej, podriamos hacer
$mi_otro_arreglo[7] = 10;
y en la siguiente linea ejecutar
$mi_otro_arreglo[] = 11;
con lo que el siguiente indice seria de valor 11
y por ultimo tenemos un arreglo con indice del tipo hash, que
tiene una cadena dentro que consiste de las palabras 'una_cadena'
concatenado con el valor del indice
*/

//a continuacion procedermos a recorrer cada uno de los ciclos
foreach($my_arreglo as $valor_individual)
{
//imprimiremos valor individual que en ese momento posee
//el valor en el que este situado el indice de la estructura
//foreach
echo "valor actual: ".$valor_individual;
}

//y ahora recorreremos el ultimo arreglo ya que el segundo seria
//practicamente lo mismo
foreach($ultimo_arreglo as $key => $value)
{
echo "el indice actual es: ".$key;
echo "y su valor es: ".$value;
}
?>

Bueno, creo que con esto termino la publicación del dia de hoy. Espero les haya gustado y si tienen algun comentario, serán leidos y si encuentran algun error, señalenmelos y será corregido.

viernes, 7 de agosto de 2009

Primeros Pasos

Hola y bienvenid@
Este es la primera entrega de "Aprende rápido y fácil lo basico de php", mi intención es que los que estén interesados en aprender el lenguaje, puedan hacerlo sin dar muchas vueltas, trataré de saltarme la mayor teoría posible y procuraré mostrar todo con ejemplos.

Primeros pasos
Antes de que puedan empezar a probar los primeros ejemplos, es necesario que tengan instalado un LAMP o WAMP en su defecto según usen Ms Windows o GNU/Linux y si tienen cualquier Unix los equivalentes en estos.

¿pero qué es LAMP o WAMP?
Pues pueden visitar los respectivos enlaces en la wikipedia
- WAMP
- LAMP
o en su defecto XAMPP

Pues para los usuarios del sistema operativo propietario windows les recomiendo que descarguen de la página: http://www.appservnetwork.com/
Les recomendaría que bajen la versión

AppServ 2.5.10

  • Apache 2.2.8
  • PHP 5.2.6
  • MySQL 5.0.51b
  • phpMyAdmin-2.10.3
por las cosas que trae consigo, y que explicaré para qué sirve cada uno a continuación

El apache es lo que se conoce como servidor web, es un servicio o demonio que normalmente se ejecuta en el servidor, y por lo general escucha en el puerto 80 que esta destinado a comunicaciones sobre el protocolo HTTP su tarea normal es recibir los request o pedidos de paginas que recibe desde los navegadores web o similares y manejarlos segun como se le haya establecido en su configuración, por ej, si un directorio esta vacio o no contiene los archivos que el tiene definido como indice (index.htm, index.html, index.php, etc) muestra el listado del directorio. y si tiene algunos de esos archivos los ejecuta y muestra el resultado en el navegador del cliente. Eso es una explicacion rapida y sencilla, quizá me salté algunas explicaciones, pero creo que lo que deberían saber es que sin el, no se podría mostrar la página web que quisiéramos ver pues no se procesaria y obtendriamos un error.

El intérprete PHP es exactamente eso, un interprete de ese lenguaje que iremos viendo con el pasar de las publicaciones. Con el conseguimos que nuestro codigo php pueda ser procesado y sus resultados mostrados a través de nuestro servidor apache al navegador del cliente.

El gestor de base de datos Mysql es una de las mejores para la web, ampliamente usado. Con el construiremos nuestras bases de datos y a el haremos nuestras consultas sql con lo que daremos vida a nuestros sitios web.

Por ultimo el phpMyAdmin un sistema completo para utilizar la base de datos completamente escrito en PHP (donde tambien podemos mirar el codigo para obtener ejemplos y ver 'cosas interesantes') esto lo hacemos desde nuestro navegador sin necesidad de utilizar ningun otro programa, pero claro no es lo unico que nos permite modificar nuestra base de datos tambien podemos utilizar la consola que provee MySQL (no muy amigable pero es bien completa) o utilizar otras herramientas como el MySQL workbench que puedes descargar de la página de http://dev.mysql.com/workbench/ . La decisión está en tus manos.

Para los que decidan descargar el appserv, les aconsejo que durante la instalación marquen la opción Ennable innodb support o algo asi, (innodb es el motor que utiliza MySQL para hacer bases de datos relacionales, a diferencia del motor por defecto del mysql llamado MyISAM que no posee la cualidad de relacionar tablas lo que lo hace mucho mas rápido.

Y tambien les sugiero que marquen la casilla que está abajo que indica el uso de passwords viejos de mysql es para que tome una contraseña por defecto que ya les mostraré luego.


Por defecto la instalción se hace en
C:\appserv\
allí dentro podran ver varias carpetas
  • www donde alojaremos nuestra/s páginas web
  • php5 donde estan las librerias y el intérprete php
  • mysql donde estan almacenados fisicamente las bases de datos, y tambien los binarios del mysql
  • apache donde se encontraran las configuraciones, el binario del servidor y configuraciones y modulos que utilizará
Cuando terminemos la instalación, podemos ir a la siguiente dirección web en nuestro navegador favorito (espero sea el firefox)

http://localhost/

ojo, no es www.localhost.com, solo localhost

Deberia mostrarnos la pagina del appserv project indicandonos que la instalacion fue exitosa y dando detalles del proyecto.

Pues bueno, esa página que vemos ahi, no es otra que la que se encuentra en
c:\appserv\www\index.php

Pueden abrirla con el editor que quieran, puede ser notepad, notepad++, Dreamweaver,
o vi, nano, jed (si usan gnu/linux). Y revisarlo si asi gustan.

Mi recomendación, no la borren, mejor crean una carpeta y copian en ella el archivo.

Observación: la carpeta que dice phpMyAdmin, no la borren, pues alli esta el sistema web que usaremos más adelante para crear y modificar nuestras bases de datos.

HOLA MUNDO!

<?php
//Esto es un comentario de linea simple
echo "Hola mundo!";
/*
* Esto seria un comentario
* multilinea y no se imprime
* en pantalla
*/
echo "Estoy escribiendo mis primeras lineas de codigo";
echo "El caracter para enter es \n";
echo "Pero este caracter solo es visible en el codigo fuente de la pagina";
echo "Para que sea visible en el navegador escribimos
"
;
echo "esta linea sera visible abajo de todo lo anterior";
//fin de nuestro primer script
?>
y lo guardamos con el nombre index.php en el directorio www
y lo visualizamos en http://localhost o http://localhost/index.php

con eso hemos creado nuestra primera aplicacion php.


Pero PHP tiene mucho que ofrecer, una de sus ventajas es que el HTML puede estar envevido dentro del script. por ejemplo el siguiente codigo


<html>
<head>
<title>Primera pagina html con phptitle>
head>
<body>
<?php
//Esto es un comentario de linea simple
echo "Hola mundo!";
/*
* Esto seria un comentario
* multilinea y no se imprime
* en pantalla
*/
echo "Estoy escribiendo mis primeras lineas de codigo";
echo "El caracter para enter es \n";
echo "Pero este caracter solo es visible en el codigo fuente de la pagina";
echo "Para que sea visible en el navegador escribimos";
echo "esta linea sera visible abajo de todo lo anterior";
//fin de nuestro primer script
?>
<body/>
<html/>
Todo lo que no se encuentre entre las etiquetas <?php y ?> sera ignorado por el interprete y sera automáticamente enviado a la salida.

Además de la sentencia echo, poseemos otra llamada print que hace lo mismo pero para que se vayan acostumbrando pueden ir viendo la documentación ofrecida por la página php.net donde les aseguro iran muchas pero muchas veces a deshacerse de sus dudas (espero).

Variables
Las variables son lo que todo lenguaje estructurado utiliza para alamacenar valores a lo largo de la ejecución de un programa o script. esa sería mi definición no muy tecnica pero indica la idea de lo que quiero transmitir.

En php todas las variables comienzan con el simbolo $ (peso) seguidos de una letra [a-z] como minimo o el caracter _ guion bajo seguido de mas letras o numeros.
por ejemplo:

$var = 1;
$var2 = "hola mundo";
$nueva_variable = $var . $var2; //aqui acabamos de hacer una concatenacion de variables

Como verán las variables no se definen con un tipo asociado, pues php infiere a que tipo corresponden por el tipo de valor que se le asigna (cadenas, numeros, arreglos, objetos, etc)

Ah!! antes de continuar, me olvidaba de comentarles, tal vez lo notaron, pero igual sigue siendo muy importante, como muchos lenguajes cada sentencia debe terminar con el simbolo ; (punto y coma) con esto el interprete sabe que alli termina la sentencia y que puede ejecutarlo, sin este simbolo tendriamos un error ya que el caracter de enter o retorno de linea es ignorado por el.

Ahora bien, tambien podemos hacer concatenaciones con las variables usando el simbolo . (punto) y no importa si estas son numeros ya que seran automaticamente convertidos en cadenas para formar una nueva.
Por ejemplo:

<?php
$var1 = 34;
$var2 = 44;
$var3 = $var1 . $var2;
//que no es lo mismo que :
$var 4 = $var1 + $var2; // en cuyo caso valdria 78
?>

Para ampliar mas sus conocimientos básicos sobre variables, les recomiendo lean el siguiente enlace en php.net

Operaciones

Las operaciones que podemos realizar con cierta normalidad dentro del lenguaje son:


  • asignacion mediante el simbolo = (es igual) por ej:
    $var = "algun valor";

Matematicas:
  • suma mediante el simbolo + (mas) por ej:
    $var = 34 + 22;
  • resta mediante el simbolo - (menos o guion) por ej:
    $var = 22 - 19;
  • multiplicacion mediante el simbolo * (asterisco o por) por ej:
    $var = 33 * 2;
  • division real mediante el simbolo / (barra o division)
    $var = 55 / 5;
  • autoincremento mediante el simbolo ++ por ej:
    $var++; // o tambien
    ++$var; //se diferencian en el momento en el que se hace el incremento uno es post y el otro es pre, lo que significa que uno de ellos se realiza luego de haberse ejecutado la linea, los invito a que descubran cual es cual
  • autodecremento -- por ej:
    $var--;
    --$var; //igual al autoincremento pero a la inversa :)
de cadena
  • concatenacion con el simbolo . (punto) por ej:
    $var = "hola". " ". "que ". "tal?";
    $var .= $otra_variable ; //con esto pueden asignar a una variable el contenido de la otra sumado a lo que ya contiene
una vez mas los invito a leer la documentacion para ampliar sus conocimientos:
http://www.php.net/manual/en/language.operators.php


Bueno, por ahora eso les dará una idea de como trabajar con variables en php. Más adelante mostraré como usar ciclos para recorrer variables y mostrar mas cosas que forman la programación normal en php.

Espero les haya gustado la introducción y si tienen alguna duda pues comentenla, quizá alguien más tambien dude sobre lo mismo y puedas ayudarlo discipando esta.