Lunes, 17 de abril de 2006
Imagen


PHP (Hypertext Preprocessor)


(Siglas que originalmente significaban Personal Home Page) fue primero escrito por Rasmus Lerdorf como un simple conjunto de scripts de Perl para guiar a los usuarios en sus p?ginas. Luego para satisfacer inquietudes del mismo tipo por parte de otra gente, lo rescribe, pero esta vez como un lenguaje de script agreg?ndole entre otras caracter?sticas soporte para formularios. Al ver como la popularidad del lenguaje aumenta, un grupo de desarrolladores crea para ?l un API, convirti?ndose as? en el PHP3. Fue en ese momento cuando el parser de scripts PHP es completamente reescrito (el Zend Engine) dando vida al PHP4 mucho mas r?pido, tal y como lo conocemos en la actualidad.


PHP seg?n Miguel ?ngel ?lvarez (2004) es un lenguaje sencillo, de sintaxis c?moda y similar a la de otros lenguajes como Perl, C y C++. Es r?pido, interpretado, orientado a objetos y multiplataforma. Para ?l se encuentra disponible una multitud de librer?as. PHP es un lenguaje ideal tanto para aprender a desarrollar aplicaciones web como para desarrollar aplicaciones web complejas. PHP a?ade a todo eso la ventaja de que el int?rprete de PHP, los diversos m?dulos y gran cantidad de librer?as desarrolladas para PHP son de c?digo libre, con lo que el programador de PHP dispone de un impresionante arsenal de herramientas libres para desarrollar aplicaciones. PHP suele ser utilizado conjuntamente con Perl, Apache, MySQL o PostgreSQL en sistemas Linux, formando una combinaci?n barata (todos los componentes son de c?digo libre), potente y vers?til. Tal ha sido la expansi?n de esta combinaci?n que incluso ha merecido conocerse con un nombre propio LAMP (formado por las iniciales de los diversos productos). Apache, as? como algunos otros servidores web, Roxen entre ellos, puede incorporar PHP como un m?dulo propio del servidor, lo cual permite que las aplicaciones escritas en PHP resulten mucho m?s r?pidas que las aplicaciones CGI habituales.

C?mo funciona PHP


Si solicitamos a nuestro servidor una p?gina PHP, ?ste env?a dicha p?gina al int?rprete de PHP que la ejecuta (de hecho, no se trata m?s que de un programa) y devuelve el resultado (generalmente HTML) al servidor web, el cual, a su vez, se lo enviar? al cliente.


Caracter?sticas


? Velocidad: No solo la velocidad de ejecuci?n, la cual es importante, sino adem?s no crear demoras en la m?quina. Por esta raz?n no debe requerir demasiados recursos de sistema. PHP se integra muy bien junto a otro software, especialmente bajo ambientes Unix, cuando se configura como m?dulo de Apache, esta listo para ser utilizado.

? Estabilidad: La velocidad no sirve de mucho si el sistema se cae cada cierta cantidad de ejecuciones. Ninguna aplicaci?n es 100% libre de bugs, pero teniendo de respaldo una incre?ble comunidad de programadores y usuarios es mucho mas dif?cil para lo bugs sobrevivir. PHP utiliza su propio sistema de administraci?n de recursos y dispone de un sofisticado m?todo de manejo de variables, conformando un sistema robusto y estable.

? Seguridad: El sistema debe poseer protecciones contra ataques. PHP provee diferentes niveles de seguridad, estos pueden ser configurados desde el archivo .ini

? Simplicidad: Se les debe permitir a los programadores generar c?digo productivamente en el menor tiempo posible. Usuarios con experiencia en C y C++ podr?n utilizar PHP r?pidamente.


Ventajas

? PHP corre en (casi) cualquier plataforma utilizando el mismo c?digo fuente, pudiendo ser compilado y ejecutado en algo as? como 25 plataformas, incluyendo diferentes versiones de Unix, Windows (95,98,NT,ME,2000,XP, etc.) y Macs. Como en todos los sistemas se utiliza el mismo c?digo base, los scripts pueden ser ejecutados de manera independiente al OS.

? La sintaxis de PHP es similar a la del C, por esto cualquiera con experiencia en lenguajes del estilo C podr? entender r?pidamente PHP. Entre los lenguajes del tipo C incluimos al Java y Javascript, de hecho mucha de la funcionalidad del PHP se la debe al C en funciones como fread() o srtlen(), as? que muchos programadores se sentir?n como en casa.

? PHP es completamente expandible. Est? compuesto de un sistema principal (escrito por Zend), un conjunto de m?dulos y una variedad de extensiones de c?digo.

? Muchas interfaces distintas para cada tipo de servidor. PHP actualmente se puede ejecutar bajo Apache, IIS, AOLServer, Roxen y THTTPD. Otra alternativa es configurarlo como modulo CGI.

? Puede interactuar con muchos motores de bases de datos tales como MySQL, MS SQL, Oracle, Informix, PostgreSQL, y otros muchos. Siempre podr?s disponer de ODBC para situaciones que lo requieran.

? Una gran variedad de m?dulos cuando un programador PHP necesite una interfase para una librer?a en particular, f?cilmente podr? crear una API para ?sta. Algunas de las que ya vienen implementadas permiten manejo de gr?ficos, archivos PDF, Flash, Cybercash, calendarios, XML, IMAP, POP, etc.

? Rapidez. PHP generalmente es utilizado como modulo de Apache, lo que lo hace extremadamente veloz. Est? completamente escrito en C, as? que se ejecuta r?pidamente utilizando poca memoria.

? PHP es Open Source, lo cual significa que el usuario no depende de una compa??a espec?fica para arreglar cosas que no funcionan, adem?s no est? forzado a pagar actualizaciones anuales para tener una versi?n que funcione. Muchos de nosotros que hemos esperado que Allaire arregle algo apreciamos esto.


Uso de PHP para aplicaciones Web


Para usar PHP como lenguaje de desarrollo de aplicaciones Web, la primera necesidad que tenemos es saber c?mo interactuar? PHP con nuestro usuario Web. Podemos dividir dicha ?nter actuaci?n en dos partes, mostrando informaci?n al usuario y recogiendo informaci?n de ?ste.


Mostrando informaci?n

Tenemos dos mecanismos para que PHP muestre informaci?n al usuario: por un lado podemos escribir p?ginas HTML corrientes, insertando s?lo el c?digo PHP que requerimos en medio del c?digo HTML.
Por otro lado, podemos usar PHP para generar contenido din?mico. Para ello debemos usar las instrucciones de PHP de salida de datos.


Recogida de informaci?n del usuario

Para recoger informaci?n del usuario, podemos utilizar los formularios de HTML, utilizando nuestros programas PHP como ACTION de dichos formularios. Como PHP fue dise?ado para crear aplicaciones Web, el acceso a los valores introducidos por el usuario en los campos del formulario es realmente f?cil en PHP, ya que ?ste define un vector llamado REQUEST al que accedemos con el nombre del campo como ?ndice y que contiene el valor contenido en ?ste al ejecutar el programa PHP.


MySQL

MySQL Seg?n Manual de MySQL (2004). Es un Sistema Manejador de Base de Datos relacionales (SGBD) desarrollado por la empresa MySQL AB, una empresa de origen sueco que lo desarrolla bajo licencia de c?digo libre (concretamente bajo GPL), aunque tambi?n, si se desea, puede ser adquirido con licencia comercial para ser incluido en proyectos no libres.


MySQL es una sistema gestor de base de datos extremadamente r?pido. Aunque no ofrece las mismas capacidades y funcionalidades que otras muchas bases de datos, compensa esta pobreza de prestaciones con un rendimiento excelente que hace de ella la base de datos de elecci?n en aquellas situaciones en las que necesitamos s?lo unas capacidades b?sicas.
Las funcionalidades m?s destacadas de MySQL son:


? Soporte de transacciones
? Soporte de replicaci?n
? Librer?a para uso embebido.
? B?squeda por texto.
? Cache de b?squedas (para aumentar el rendimiento).


Apache

Apache es un servidor Web de c?digo libre robusto cuya implementaci?n se realiza de forma colaborativa, con prestaciones y funcionalidades equivalentes a las de los servidores comerciales. El proyecto est? dirigido y controlado por un grupo de voluntarios de todo el mundo que, usando Internet y la Web para comunicarse, planifican y desarrollan el servidor y la documentaci?n relacionada. Estos voluntarios se conocen como el Apache Group. Adem?s del Apache Group, cientos de personas han contribuido al proyecto con c?digo, ideas y documentaci?n.






El Nacimiento de Apache


En febrero de 1995, el servidor Web m?s popular de Internet era un servidor de dominio p?blico desarrollado en el NCSA (National Center for Supercomputing Applications en la Universidad de Illinois). No obstante, al dejar Rob McCool (el principal desarrollador del servidor), la evoluci?n de dicho programa hab?a quedado pr?cticamente reducida a la nada. El desarrollo pas? a manos de los responsables de sitios web, que progresivamente introdujeron mejoras en sus servidores. Un grupo de ?stos, usando el correo electr?nico como herramienta b?sica de coordinaci?n, se puso de acuerdo en poner en com?n estas mejoras (en forma de ?parches?, patches). Dos de estos desarrolladores, Brian Behlendorf y Cliff Skolnick, pusieron en marcha una lista de correo, un espacio de informaci?n compartida y un servidor en California donde los desarrolladores principales pudiesen trabajar.


A principios del a?o siguiente, ocho programadores formaron lo que ser?a el Grupo Apache. ?stos, usando el servidor NCSA 1.3 como base de trabajo, a?adieron todas las correcciones de errores publicadas y las mejoras m?s valiosas que encontraron y probaron el resultado en sus propios servidores. Posteriormente publicaron lo que ser?a la primera versi?n oficial del servidor Apache (la 0.6.2, de Abril de 1995). Casualmente, en esas mismas fechas, NCSA reemprendi? el desarrollo del servidor NCSA. En este momento el desarrollo de Apache sigui? dos l?neas paralelas. Por un lado, un grupo de los desarrolladores sigui? trabajando sobre el Apache 0.6.2 para producir la serie 0.7, incorporando mejoras, etc. Un segundo grupo rescribi? por completo el c?digo, creando una nueva arquitectura modular. En julio de 1995 se migraron a esta nueva arquitectura las mejoras existentes para Apache 0.7, haci?ndose p?blico como Apache 0.8. El d?a uno de diciembre de 1995, apareci? Apache 1.0, que inclu?a documentaci?n y muchas mejoras en forma de m?dulos incrustables. Poco despu?s, Apache sobrepas? al servidor de NCSA como el m?s usado en Internet, posici?n que ha mantenido hasta nuestros d?as. En 1999 los miembros del Grupo Apache fundaron la Apache Software Foundation, que provee soporte legal y financiero al desarrollo del servidor Apache y los proyectos laterales que han surgido de ?ste.

Publicado por Mirovita @ 22:35
Comentarios (0)  | Enviar
Comentarios