Aprende PHP desde 0

En este libro usted podrá aprender a usar el lenguaje de programación PHP para darle dinamismo a sus páginas web. No necesita tener experiencia como programador, aunque si usted ha programado antes eso constituirá una ayuda adicional en su aprendizaje.

REQUISITOS

Escribir en un archivo

Mediante la función fwrite podemos escribir un string en un archivo que hemos abierto

<?php

  $fp = fopen('miarchivo.txt', 'w');

  fwrite($fp, 'Esta es la cadena a escribir en el archivo');

  fclose($fp);

?>

ESCRIBIR UN ARCHIVO EN UN FORMATO DE CODIFICACIÖN DISTINTO

Si deseamos escribir un archivo en otro sistema de codificación, usaremos las funciones de conversión al sistema que estamos buscando, utilizándolo dentro de la misma función fwrite.

UTF-8

Para ello usaremos la función utf8_encode para convertir la cadena al sistema de codificación utf8. Sin embargo, para que funcione debemos usarlo "dentro" de la función fwrite, de la siguiente manera.

<?php

  $fp = fopen('miarchivo.txt', 'w');

  fwrite($fp, utf8_encode($fp, 'Esta es la cadena a escribir en el archivo'));

  fclose($fp);

?>

Si lo usamos fuera de la función es probable que el archivo se siga guardando con otro sistema de codificación.

Lo siguiente es muy probable que no funcione.

<?php

  $miCadena = 'Esta es la cadena a escribir en el archivo';

  $miCadena = utf8_encode($miCadena);

  $fp = fopen('miarchivo.txt', 'w');

  fwrite($fp, $miCadena);

  fclose($fp);

?>

 

Instalar LAMP en Ubuntu

HACER USO DEL GESTOR DE PAQUETES SYNAPTIC

 

 

HABILITAR LOS DIRECTORIOS PERSONALES

Al instalar apache automáticamente nos permite colocar nuestros archivos en el directorio /var/www para que sean procesados por apache ante una petición web por http. Sin embargo, para usar dicho directorio se necesitan permisos que usualmente el usuario no tiene. Para hacer que cada usuario pueda colocar archivos dentro de su directorio personal, en una carpeta llamada public_html, es necesario habilitar esta opción en apache.

Podemos hacer uso de la línea de comandos, con la siguiente instrucción:

sudo a2enmod userdir

Luego reiniciamos apache, como nos dice en el mensaje mismo, con la siguiente instrucción

sudo /etc/init.d/apache2 restart

 

Manejo de archivos

PHP dispone de muchas funciones que nos ayudan a trabajar con archivos. Mediante estas funciones podemos leer, grabar o editar archivos.

PHP como lenguaje interpretado

En este capítulo haremos una breve introducción a la forma como trabaja PHP. Para lograr nuestro objetivo, revisaremos previamente el HTML como un lenguaje de marcado y que por si mismo es estático. Para poder imprimir dinámismo y permitir que nuestra página se vuelva interactiva necesitamos un lenguaje de programación, como es PHP.

El HTML como lenguaje de marcado

COMO FUNCIONA

El navegador puede leer un archivo y lo va mostrando. Si es un archivo de texto simple no le pone espacios, formato ni estructura.
TODO: Ejemplo de como se ve un archivo simple con el navegador.
Una página HTML también es un archivo, pero que contiene ciertas etiquetas que le dan formato a los diferentes elementos. Hay etiquetas para muchas cosas, como por ejemplo para poner un título, para poner enlaces, hacer tablas, incluir imagenes, etc.

TODO:  Luego un ejemplo de como se ve el archivo HTML con el navegador a partir de lo que uno escribe.
El HTML sirve para darle estructura y formato, y el navegador "renderiza" lo que el archivo le indica. Es decir lo muestra de una manera más estructurada. Además del HTML, se usan otras tecnologìas como las hojas de estilo en cascada (CSS) y el javascript. Se podría decir que actualmente se recomienda usar el html para la parte de estructura y el CSS para darle el formato.
Hay programas que nos ayudan a construir las páginas web de manera más visual, sin tener que estar escribiendo el código a mano.
TODO: mostrar un ejemplo.

Internet está formada por millones de computadoras que se comunican entre sí. Entonces ¿cómo hago para ver los archivos que están en otra computadora? esta computadora puede estar en cualquier otro lugar del mundo.

La manera en que intercambian información esta reglamentado, es decir, existe una serie de formas estandar en que se solicitan y se trasmiten los datos. De lo contrario, si cada uno utilizara sus propias reglas, sería un caos, y la comunicación se haría muy difícil.

A estas formas establecidas se le conoce como protocolos. Existen protocolos para varios varios objetivos. Uno de los protocolos más utilizados es el protocolo HTTP.
TODO: no es lo mismo revisar el archivo directamente que a través de http.
Sin embargo, en internet los archivos no son leídos directamente sino que el navegador solicita la información a un servidor, el cual le trasmite los datos a través de la red, usando para ello un protocolo de comunicación, que es llamado HTTP.
TODO: Figura de como se comunican dos computadoras y una lee los datos de la otra a través del protocolo http.

Las computadoras que sirven las páginas reciben el nombre de servidores. Y las computadoras u otros dispositivos (pdas, celulares, televisores, etc.) que leen las páginas, reciben el nombre de clientes.
Si se escribe un documento html, la información que está contenida en dicho documento no cambia, a menos que una persona modifique el contenido. Por tanto uno podría tener su página web y cada vez que requiera un cambio la va actualizando con el nuevo contenido, abriendo el archivo, cambiando el texto o la información y volviendo a subir el archivo al servidor. Es decir, bastante trabajo adicional que realizar.


LAS ANIMACIONES
Brindan movimiento y gracia a una página, especialmente si su objetivo es llamar la atención del visitante. No confundir una página dinámica con una página animada.


Una animación puede ser muy bonita y con mucho movimiento, pero siempre ser igual, todas las veces que la repetimos.

Probando el código

Al construir software es muy importante probar que el código funciona correctamente. Hay varias formas de probar nuestro código y detectar errores, tanto de manera automática como con intervención humana. Entre las formas más conocidas de pruebas de código tenemos:

De estas, la primera requiere de intervención humana y las dos últimas son, una vez construidas las pruebas, de ejecución automática. Además, las pruebas de integración requiere que se hallan construido las pruebas unitarias.

Pruebas Unitarias

Una prueba unitaria es una prueba que se crea para probar que una porción de código funciona bien. Se puede encontrar más información en Wikipedia. En muchos ambientes de desarrollo las pruebas unitarias se consideran tan importantes como el código mismo. Por ejemplo en el desarrollo ágil se suele escribir las pruebas unitarias simultaneamente con el código, y se considera que un código está listo cuando pasa la prueba. En otras palabras la prueba es el indicador para determinar que una porción de código está lista.

Existen frameworks que nos ayudan a construir pruebas unitarias para nuestro código PHP. Uno de estos frameworks es Simple Test.

 

SIMPLE TEST

Simple Test es un framework que nos ayuda en la construcción de pruebas unitarias para probar nuestro código PHP.

La licencia de Simple Test es Open Group Test Suit Licence y LGPL.

 

UNA MIRADA GENERAL

Simple test está construido al rededor de una serie de clases que extienden una clase base agregándole métodos que contiene código de prueba. Los scripts de más alto nivel llaman al método run() de cada una de estas clases. El método run() se encarga de que sean probados cada uno de los métodos adicionales que se le han agregado a la clase. Dentro de estos métodos se agregan "asersiones" (afirmaciones) que se espera que se cumplan, y que de no cumplirse producen alertas.

 

USAR SIMPLETEST

Para usar simple test necesitamos bajar los archivos de la página web, luego incluirlo en nuestro proyecto.

 

ESCRIBIENDO UNA PRUEBA UNITARIA

Crear nuestro unit test case.

Incluir la librería de Simple Test

Extender la clase correspondiente

Agregar los métodos que probarán el código, y que serán las que contendrán las asersiones.