Mi nombre es Fernando Briano y soy programador.

Introducción a PHP

PHP LogoEmpezamos a programar en PHP en clase. Ya hemos estado mirando algo de AJAX, CSS y bastante JavaScript. Ahora vamos con el backend. A continuación, los apuntes de la clase y demás:

PHP:
Lenguaje a nivel de servidor, interpretado. Para usar PHP, editamos los archivos con cualquier editor de texto.
Además necesitamos un servidor web con PHP para interpretar el lenguaje. Recomendado Apache con PHP y MySQL: WAMP para Windows y LAMP en GNU/Linux. La mayoría de las distribuciones GNU/Linux ya tienen en sus repositorios Apache, PHP y MySQL.

Actualmente se usan principalmente las versiones 4 y 5 de PHP, que son bastante diferentes, y por eso mucha gente sigue sin actualizarse. Leí hace un tiempo que la 4 la estaban por dejar de lado en Zend, la empresa que estuvo involucrada en el desarrollo incial del lenguaje.

La versión 5 permite trabajar con objetos, herencia, polimorfismo, clases abstractas, etc. En PHP 4, si bien se admite en parte el paradigma de orientación a objetos, no está completamente implementado.

VARIABLES EN PHP

Deben comenzar todas con el signo de moneda, y pueden acompañarse con una letra o un guión bajo: $variable, $_variable
Todas las sentencias terminan en ; como C y Java.
Las variables no se declaran, no es necesario determinar de qué tipo son.

Tipos de variables:
Escalares: integer, boolean, string, float
Compuestos: array, object
Especiales: resource, NULL

SINTAXIS PHP
Todo código PHP (ya sea embebido en HTML o en un archivo aparte), debe escribirse siempre dentro de los siguientes etiquetas:

<?php ?>

Ejemplo:

<?php $nombre = "Fernando"; $estudia = TRUE; $edad = 2007 - 1985; echo $edad; ?>

gettype($variable) – Obtengo el tipo de la variable.

php_xpstyle_ico.gifPara ejecutar un archivo .php, hay que guardarlo en el directorio de nuestro servidor web. En la mayoría de los casos es /www o /public_html. En mi caso, en /var/www. Hay que fijarse dónde lo pone Apache.

Ya con ésto se tiene una mínima idea de qué se puede hacer con PHP. Sin embargo, la mejor forma de aprenderlo es entrando a PHP.net y bajarse la documentación oficial.

Desde hace años vengo usando PHP “a los golpes” e intento estudiar un poco de fundamento. Pero siempre por temas de tiempo y demás, me queda pendiente. Así que es una tarea pendiente menos que va quedando… (todavía queda Swing, J2ME, Android, Python, ¿sigo?…)

Ya logré conectarme con el servidor MySQL y levantar algunos datos de la base de datos. Todo con los conceptos adquiridos hasta ahora de programación, y fijándome la sintaxis y cómo se hace en el manual oficial. Más adelante vamos a dar el patrón MVC, uno de los más usados en el desarrollo web, y soportado por varios frameworks.

CONECTÁNDOSE A MySQL CON PHP

MySQL LogoConectarse a MySQL y obtener datos fue bastante más fácil de lo que imaginaba. Toda ésta información está en el manual, y es fácil encontrarla. Además trae ejemplos bien sencillos para que se entiendan los conceptos, y podemos leer documentación detallada de cada función aparte.

El código es algo así:

//Declaro la conexión con mysql_connect
$conexion = mysql_connect('localhost', 'root', '')
or die('No se pudo conectar: ' . mysql_error());
 
//Selecciono la base de datos:
mysql_select_db('foo') or die('Could not select database');
 
//Ejecuto una consulta:
$consulta = 'SELECT * FROM tabla';
$resultado = mysql_query($consulta) or die('Query failed: ' . mysql_error());
 
//Creo una tabla HTML para mostrar la información:
echo "\n";
//Recorro las filas que levante
while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
  echo "\t\n";
  foreach ($fila as $valor_columna) {
    echo "\t\t \n";
  }
  echo "\t \n";
}
echo "<table border="1">
<tbody>
<tr>
<td>$valor_columna</td>
</tr>
</tbody>
</table>
\n";

Anoche cuando llegué de clase seguí programando un poco más, probando levantar datos desde la base, creando la clase Persistente, etc.

Por ahora vengo usando EasyEclipse con el plugin para PHP, y me ha resultado bastante cómodo por el momento. No he probado otra herramienta.

Feed de comentarios | Url para Trackbacks | Suscribirse a los posts por correo electrónico

14 comentarios en este post

  1. Avatar Adolf 21 noviembre. 2007 - 11:53 pm Internet Explorer 6.0 Windows XP

    Fernando, probá PHPDesigner… no sé si es lo mejor pero está bastante pasable, podés asignarle un manual y ofrece buscar términos dentro… está pasable. Saludos.

  2. Avatar Vinagre Asesino 22 noviembre. 2007 - 7:23 am Firefox 2.0.0.9 Windows XP

    Fernando creo que debes cambiar esta línea:

    $resultado = mysql_query($query)

    por esta:

    $resultado = mysql_query($resultado)

    hiciste la traducción de “$query” tan solo en un lado.

    Saludos avinagrados.

  3. Avatar Vinagre Asesino 22 noviembre. 2007 - 7:24 am Firefox 2.0.0.9 Windows XP

    Perdón ;() por ésta:

    $resultado = mysql_query($consulta)

  4. Avatar Kbza 22 noviembre. 2007 - 10:35 am Internet Explorer 7.0 Windows XP

    no es opensource, pero si muy recomendable, el ZendStudio para mi es el mejor ide para programar en php, podés debuggear, autocompleta todo lo que ingreses, etc.. recomendable.

  5. Avatar fernando 22 noviembre. 2007 - 2:02 pm Firefox 2.0.0.9 Windows XP

    Adolf:
    Por lo que ví el PHP Designer viene sólo para Windows puede ser? Además tiene licencia comercial… Capaz que no encontré instalación para Linux?
    Kbza:
    El ZendStudio es pago? También parece tener licencia comercial.
    Gracias por sus recomendaciones, por ahora me quedo con Eclipse que es libre y gratuito! Y el plugin tiene autocompletar, y si bien no he probado, creo que también se puede debuggear PHP.
    Aparte le agarré cariño a Eclipse con Java…

    Vinagrero:
    Tenés razón, en el archivo original, usé como venía de la documentación todo en inglés, pero para el blog traté de “castellanizarlo”. Me había olvidado ese $query, ya está arreglado.
    Gracias por la corrección.

    A todos gracias por visitar el sitio seguido y comentar!

  6. Avatar zarta 22 noviembre. 2007 - 8:10 pm Firefox 2.0.0.8 Ubuntu 64 bits

    Puedes utilizar esta sentencia:

    $conexion = mysql_connect(‘localhost’, ‘root’, ‘foo’)
    or die(‘No se pudo conectar: ‘ . mysql_error());

    Así tea ahorrar una sentencia, esta en concreto:
    mysql_select_db(‘foo’) or die(‘Could not select database’);

    Yo suelo utilizar Bluefish http://bluefish.openoffice.nl/

    Ala a programar!!! (Un buen modo de aprendes es bajar por ejemplo el wordpress y revisar el código tratando de entenderlo).

  7. Avatar fernando 22 noviembre. 2007 - 8:32 pm Firefox 2.0 Windows XP

    zarta:
    Gracias por el tip.
    Intenté instalarme BlueFish, pero por algunas dependencias con librerías de GNOME no logré instalarlo. Seguiré intentando.
    En éstos momentos estoy bajando Geany, para probarlo. Es un IDE liviano, y sencillo, con pocas dependencias. Voy a observarlo…
    Nuevamente gracias, y saludos!

  8. Avatar fernando 25 noviembre. 2007 - 4:58 pm Debian IceWeasel 2.0.0.8 Debian GNU/Linux

    Listo, ya instale el BlueFish y Geany, despues de probarlos cometnare algo…

  9. Avatar recursos web 27 mayo. 2009 - 10:42 am Firefox 3.0.10 Windows XP

    me gustaria saber que curso has hecho, empiezas el post, hablando de Clase… estoy buscando la forma de formarme en php,mysql, saludos desde malaga

  10. Avatar fernando 27 mayo. 2009 - 6:14 pm Debian IceWeasel 3.0.9 Debian GNU/Linux 64 bits

    recursos web:
    En este post me refería a una clase de la materia “Hipermedia” de la carrera Analista Programador del centro donde estudié en mi país.

    Te recomiendo buscar alguna carrera técnica para iniciarte en PHP y MySQL, y si te gusta, continuar estudiando en la universidad o similar.

    Tengo buenos amigos Malagueños, saludos por ahí!

  11. Avatar Dark Musician 19 agosto. 2009 - 9:36 pm Google Chrome 2.0.172.39 Windows Vista

    Para programar en php nada como NetBeans.

  12. Avatar anon 13 marzo. 2011 - 12:21 am Opera 9.80 GNU/Linux

    clase persistente?

    • Avatar Fernando 19 marzo. 2011 - 9:36 pm GNU IceCat 3.6.15 GNU/Linux 64 bits

      Me refería así a la clase donde ubiqué la lógica de persistencia.

      ¡Saludos!

      • Avatar anon 26 abril. 2011 - 4:32 pm Opera 9.80 GNU/Linux

        Uy, perdon por la ignorancia, he oido lo de persistencia antes pero no entiendo bien que es.
        Lo relaciono con una clase que se mapea de forma fiel en la BD. Por ejemplo:

        class Cliente{
        var $id;
        var $nombre;

        function actualiza($datos);
        function elimina();
        }

        Es eso o estoy perdido?

    Dejar un comentario

    Toasty!