Introducción a PHP

Publicado el 21 de noviembre de 2007

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.

14 comentarios en este post

Feed de comentarios
  1. Avatar

    Adolf 21 noviembre. 2007 - 23:53

    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.

    Internet Explorer 6.0 Windows XP
  2. Avatar

    Vinagre Asesino 22 noviembre. 2007 - 07:23

    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.

    Firefox 2.0.0.9 Windows XP
  3. Avatar

    Kbza 22 noviembre. 2007 - 10:35

    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.

    Internet Explorer 7.0 Windows XP
  4. Avatar

    fernando 22 noviembre. 2007 - 14:02

    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!

    Firefox 2.0.0.9 Windows XP
  5. Avatar

    zarta 22 noviembre. 2007 - 20:10

    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).

    Firefox 2.0.0.8 Ubuntu 64 bits
  6. Avatar

    fernando 22 noviembre. 2007 - 20:32

    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!

    Firefox 2.0 Windows XP
  7. Avatar

    fernando 27 mayo. 2009 - 18:14

    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í!

    Debian IceWeasel 3.0.9 Debian GNU/Linux 64 bits
      • Avatar

        anon 26 abril. 2011 - 16:32

        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?

        Opera 9.80 GNU/Linux

Responder a zarta

Clic para cancelar respuesta.

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.

Toasty!