Anda di halaman 1dari 8

17/07/13

PHP - Wikipedia, la enciclopedia libre

PHP
De Wikipedia, la enciclopedia libre PHP es un lenguaje de programacin de uso general de cdigo del lado del servidor originalmente diseado para el desarrollo web de contenido dinmico. Fue uno de los primeros lenguajes de programacin del lado del servidor que se podan incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El cdigo es interpretado por un servidor web con un mdulo de procesador de PHP que genera la pgina Web resultante. PHP ha evolucionado por lo que ahora incluye tambin una interfaz de lnea de comandos que puede ser usada en aplicaciones grficas independientes. PHP puede ser usado en la mayora de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningn costo. PHP fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue siendo desarrollado con nuevas funciones por el grupo PHP.1 Este lenguaje forma parte del software libre publicado bajo la licencia PHP que es incompatible con la Licencia Pblica General de GNU debido a las restricciones del uso del trmino PHP.2

PHP

Desarrollador(es) PHP Group php.net/ (http://www.php.net/) Informacin general Extensiones .php, .phtml .php4 .php3 .php5 .phps comunes Paradigma multiparadigma: imperativo, orientado a objetos, procedural, reflexivo Rasmus Lerdorf 5.4.17 (4 de julio de 2013)

Apareci en 1995 Diseado por ltima versin estable

ndice
1 Visin general 2 Historia 2.1 Historial de lanzamiento 3 Sintaxis 4 Caractersticas de PHP 4.1 Caractersticas 4.2 Inconvenientes 4.3 XAMPP, LAMP, WAMP, MAMP, UWAMP 4.4 Principales sitios desarrollados con PHP 5 Referencias 6 Enlaces externos

Tipo de dato dinmico Influido por C, C++, Perl, Java, Python Sistema operativo Licencia Multiplataforma Licencia PHP

Visin general
PHP es un acrnimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools).3 Fue creado originalmente por Rasmus Lerdorf; sin embargo la implementacin principal de PHP es producida ahora por The PHP Group y sirve como el estndar de facto para PHP al no haber una especificacin formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
es.wikipedia.org/wiki/PHP 1/8

17/07/13

PHP - Wikipedia, la enciclopedia libre

Puede ser desplegado en la mayora de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en ms de 20 millones de sitios web y en un milln de servidores, el nmero de sitios en PHP ha compartido algo de su preponderante dominio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. El sitio web de Wikipedia est desarrollado en PHP. Es tambin el mdulo Apache ms popular entre las computadoras que utilizan Apache como servidor web. El gran parecido que posee PHP con los lenguajes ms comunes de programacin estructurada, como C y Perl, permiten a la mayora de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. Tambin les permite involucrarse con aplicaciones de contenido dinmico sin tener que aprender todo un nuevo grupo de funciones. Aunque todo en su diseo est orientado a facilitar la creacin de sitios webs, es posible crear aplicaciones con una interfaz grfica para el usuario, utilizando la extensin PHP-Qt o PHP-GTK. Tambin puede ser usado desde la lnea de rdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versin de PHP se la llama PHP-CLI (Command Line Interface). Cuando el cliente hace una peticin al servidor para que le enve una pgina web, el servidor ejecuta el intrprete de PHP. ste procesa el script solicitado que generar el contenido de manera dinmica (por ejemplo obteniendo informacin de una base de datos). El resultado es enviado por el intrprete al servidor, quien a su vez se lo enva al cliente. Mediante extensiones es tambin posible la generacin de archivos PDF, Flash, as como imgenes en diferentes formatos. Permite la conexin a diferentes tipos de servidores de bases de datos tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. PHP tambin tiene la capacidad de ser ejecutado en la mayora de los sistemas operativos, tales como Unix (y de ese tipo, como Linux o Mac OS X) y Microsoft Windows, y puede interactuar con los servidores de web ms populares ya que existe en versin CGI, mdulo para Apache, e ISAPI. PHP es una alternativa a las tecnologas de Microsoft ASP y ASP.NET (que utiliza C# y Visual Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java y a CGI/Perl. Aunque su creacin y desarrollo se da en el mbito de los sistemas libres, bajo la licencia GNU, existe adems un entorno de desarrollo integrado comercial llamado Zend Studio. CodeGear (la divisin de lenguajes de programacin de Borland) ha sacado al mercado un entorno de desarrollo integrado para PHP, denominado 'Delphi for PHP. Tambin existen al menos un par de mdulos para Eclipse, uno de los entornos ms populares.4

Historia
Fue originalmente diseado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador dans-canadiense Rasmus Lerdorf en el ao 1994 para mostrar su currculum vtae y guardar ciertos datos, como la cantidad de trfico que su pgina web reciba. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" despus de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI. Dos programadores israeles del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintctico (parser en ingls) en el ao 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje por PHP: Hypertext Preprocessor.1 Inmediatamente comenzaron experimentaciones pblicas de PHP3 y fue publicado oficialmente en junio de 1998. Para 1999, Suraski y Gutmans reescribieron el cdigo de PHP, produciendo lo que hoy se conoce como motor Zend. Tambin fundaron Zend Technologies en Ramat Gan, Israel.1 En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El da 13 de julio de 2007 se anunci la suspensin del soporte y desarrollo de la versin 4 de PHP,5 a pesar de lo anunciado se ha liberado una nueva versin con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versin 4.4.9 publicada el 7 de agosto de 2008.6 Segn esta noticia7 se le dio soporte a fallos crticos hasta el 9 de agosto de 2008.
es.wikipedia.org/wiki/PHP 2/8

17/07/13

PHP - Wikipedia, la enciclopedia libre

El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2).1 Incluye todas las ventajas que provee el nuevo Zend Engine 2 como: Mejor soporte para la programacin orientada a objetos, que en versiones anteriores era extremadamente rudimentario. Mejoras de rendimiento. Mejor soporte para MySQL con extensin completamente reescrita. Mejor soporte a XML (XPath, DOM, etc.). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Manejo de excepciones. Mejoras con la implementacin con Oracle.

Historial de lanzamiento
Significado Rojo Sin soporte Verde Con soporte Azul Lanzamiento futuro Notas Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versin en usar el nombre "PHP".8 Considerada por sus creadores la "herramienta ms rpida y sencilla" para crear pginas web dinmicas.8

Versin Versin Fecha de mayor menor lanzamiento 1 2 3 1.0.0 2.0.0 3.0.0 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.4.9 5.0.0 5.1.0 5.2.0 08-06-1995 01-11-1997

06-06-1998 Zeev Suraski y Andi Gutmans reescribieron la base para esta versin.8 22-05-2000 Se aadi un sistema de parsing de dos fases llamado motor Zend.9 10-12-2001 Se introducen 'superglobales' ($ _ G E T ,$ _ P O S T ,$ _ S E S S I O N , etc.)9 Se deshabilitan r e g i s t e r _ g l o b a l s por defecto. Datos recibidos por la red no son 22-04-2002 insertados en el espacio de nombres global, cerrando posibles agujeros de seguridad en las aplicaciones.9 27-12-2002 Se introduce CLI, y CGI.9 10 11-07-2005 Se aaden pginas man para p h p i z ey p h p c o n f i g .9 07-08-2008 Mejoras de seguridad y arreglo de bugs. ltimo lanzamiento de la serie PHP 4.4.11 12 13-07-2004 Motor Zend II con un nuevo modelo de objetos.13 24-11-2005 Mejoras de rendimiento con la introduccin de variables de compilador para el nuevo motor de PHP.13

02-11-2006 Activida extensin de filtro por defecto. Soporte JSON nativo.13

es.wikipedia.org/wiki/PHP

3/8

17/07/13

PHP - Wikipedia, la enciclopedia libre

5.2.17

06-01-2011 Arreglo de vulnerabilidad crtica conectada a punto flotante. Soporte para espacios de nombres, enlace esttico en tiempo de ejecucin, etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para archivos PHP (phar), recoleccin de basura para referencias circulares, soporte mejorado para Windows, 30-06-2009 sqlite3, mysqlnd como reemplazo a libmysql como biblioteca para extensiones que funcionan con MySQL, fileinfo como reemplzado de mime_magic para mejor soporte MIME, extensin de Internacionalizacin, y etiqueta ereg obsoleta. 19-11-2009 Cerca de 100 bug fixes (http://www.php.net/ChangeLog-5.php#5.3.1). 04-03-2010 Gran nmero de bug fixes. 22-07-2010 Mayoritariamente arreglo de errores; FPM SAPI. 10-12-2010 Mejoras a FPM SAPI. 06-01-2011 Arreglo de vulnerabilidad crtica relacionada a punto flotante. 10-03-2011 Cerca de 60 bug fixes. 18-08-2011 Esta versin se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones a la seguridad. Esta versin se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones a la seguridad. Arreglo de vulnerabilidad de ejecucin de cdigo arbitrario reportada por Stefan Esser, CVE-2012-0830.

5.3.0

5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 5.3.10 5.3.11 5.3.12 5.3.13 5.3.14 5.3.15 5.3.16 5 5.3.17 5.3.18 5.3.19 5.3.20 5.3.21 5.3.22 5.3.23 5.3.24

23-08-2011 Esta versin arregla dos errores introducidos por la versin 5.3.7. 10-01-2012 02-02-2012

26-04-2012 .. 03-05-2012 .. 08-05-2012 Arreglo de vulnerabilidad para instalaciones basadas en CGI. 14-06-2012 ... 19-07-2012 ... 16-08-2012 ... 13-09-2012 ... 18-10-2012 ... 22-11-2012 ... 20-12-2012 ... 17-01-2013 ... 21-02-2013 ... 14-03-2013 ... 11-04-2013 ... Soporte para Trait y sintaxis abreviada de array. Elementos removidos: r e g i s t e r _ g l o b a l s , s a f e _ m o d e , a l l o w _ c a l l _ t i m e _ p a s s _ r e f e r e n c e , s e s s i o n _ r e g i s t e r ( ) , s e s s i o n _ u n r e g i s t e r ( )y s e s s i o n _ i s _ r e g i s t e r e d ( ) . 01-03-2012 14 Servidor web incorporado. Varias mejoras a caractersticas existentes y al rendimiento, y requerimientos de memoria menores.
4/8

5.4.0

es.wikipedia.org/wiki/PHP

17/07/13

PHP - Wikipedia, la enciclopedia libre

5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 5.4.6 5.4.7 5.4.8 5.4.9 5.4.10 5.4.11 5.4.12 5.4.13 5.4.14 5.5.0 beta3 5.5.0

26-04-2012 Varios bug fixes y mejoras de seguridad. 03-05-2012 08-05-2012 Parche de seguridad para arreglar vulnerabilidad del parmetro query string de PHPCGI. Arreglo de vulnerabilidad para instalaciones basadas en CGI y tambin para la vulnerabilidad de desbordamiento de bfer para apache_request_headers()

14-06-2012 ... 19-07-2012 ... 16-08-2012 ... 13-09-2012 ... 18-10-2012 ... 22-11-2012 ... 20-12-2012 ... 17-01-2013 ... 21-02-2013 ... 14-03-2013 ... 11-04-2013 ... 11-04-2013 ... 20-06-2013 Nuevos generadores para bucles, e m p t y ( )soporta expresiones. Se pierde el soporte para Windows XP y Windows Server 2003.15 El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para tratar cadenas Unicode no es correcto, y estn considerando formas alternas para la siguiente versin.16 Las mejoras planeadas para PHP 6 fueron aadidas en su lugar en PHP 5.3.0 (Soporte para espacios de nombre, enlace esttico en tiempo de ejecucin, funciones lambda, clausuras, goto) y 5.4.0 (traits, revinculacin de clausura).

6.0.0

Sin fecha

Sintaxis
Programa Hola mundo con PHP embebido en cdigo HTML:
< ! D O C T Y P Eh t m l > < h t m ll a n g = " e s " > < h e a d > < m e t ac h a r s e t = " U T F 8 "/ > < t i t l e >E j e m p l ob s i c oP H P < / t i t l e > < / h e a d > < b o d y > < ? p h p e c h o' H o l am u n d o ' ; ? > < / b o d y > < / h t m l >

es.wikipedia.org/wiki/PHP

5/8

17/07/13

PHP - Wikipedia, la enciclopedia libre

El intrprete de PHP solo ejecuta el cdigo que se encuentra entre sus delimitadores. Los delimitadores ms comunes son < ? p h ppara abrir una seccin PHP y ? >para cerrarla. El propsito de estos delimitadores es separar el cdigo PHP del resto de cdigo, como por ejemplo el HTML.17 Las variables se prefijan con el smbolo del dlar ($ ) y no es necesario indicar su tipo. Las variables, a diferencia de las funciones, distinguen entre maysculas y minsculas. Las cadenas de caracteres pueden ser encapsuladas tanto en dobles comillas como en comillas simples, aunque en el caso de las primeras, se pueden insertar variables en la cadena directamente, sin necesidad de concatenacin. Los comentarios se pueden escribir bien con dos barras al principio de la lnea, o con una almoadilla. Tambin permite comentarios multi-lnea encapsulados en / ** / . En cuanto a las palabras clave, PHP comparte con la mayora de otros lenguajes con sintaxis C las condiciones con i f , los bucles con f o ry w h i l ey los retornos de funciones. Como es habitual en este tipo de lenguajes, las sentencias deben acabar con punto y coma (; ).

Caractersticas de PHP
Caractersticas
Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos. Es considerado un lenguaje fcil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definicin de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite aplicar tcnicas de programacin orientada a objetos. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, estn totalmente desarrolladas mediante esta metodologa. No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin por el tipo que estn manejando en tiempo de ejecucin. Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar, an hacindolo, el programador puede aplicar en su trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lgica de control y la interfaz de usuario en tres componentes independientes. Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de contenido, y es su uso principal.

Inconvenientes
Como es un lenguaje que se interpreta en ejecucin, para ciertos usos puede resultar un inconveniente que el cdigo
es.wikipedia.org/wiki/PHP 6/8

17/07/13

PHP - Wikipedia, la enciclopedia libre

fuente no pueda ser ocultado. La ofuscacin es una tcnica que puede dificultar la lectura del cdigo pero no necesariamente impide que el cdigo sea examinado. Debido a que es un lenguaje interpretado, un script en PHP suele funcionar considerablemente ms lento que su equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede minimizar con tcnicas de cache tanto en archivos como en memoria. Las variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer asistencias para el tipeado del cdigo, aunque esto no es realmente un inconveniente del lenguaje en s. Esto es solventado por Zend Studio aadiendo un comentario con el tipo a la declaracin de la variable.

XAMPP, LAMP, WAMP, MAMP, UWAMP


XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intrpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrnimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa est liberado bajo la licencia GNU y acta como un servidor Web libre, fcil de usar y capaz de interpretar pginas dinmicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X. LAMP presenta una funcionalidad parecida a XAMPP, pero enfocada en Linux, y WAMP lo hace enfocado en Windows.

Principales sitios desarrollados con PHP


PHP es utilizado en millones de sitios, entre los ms destacados se encuentran Wikipedia.org, Facebook.com y Wordpress.com.

Referencias
1. a b c d Historia de PHP y Proyectos Relacionados (http://es2.php.net/history) (en espaol). Consultado el 17 de octubre de 2012. 2. Proyecto GNU - Licencias de software libre incompatibles con la GPL (http://www.gnu.org/licenses/licenselist.html#GPLIncompatibleLicenses) (en espaol). Consultado el 17 de octubre de 2012. 3. FAQ General (http://us.php.net/manual/en/faq.general.php) PHP.net. 4. Existen tanto PHPEclipse como PDT for Eclipse. Vanse http://www.phpeclipse.com y http://www.eclipse.org/pdt 5. PHP: News Archives 2007 (http://www.php.net/archive/2007.php) (en ingls) Consultado 9 de diciembre de 2007 6. PHP: News Archives 2008 (http://www.php.net/archive/2008.php#id2008-08-07-1) (en ingls) 7. Archivo: 13 Julio de 2007 (http://www.php.net/archive/2007.php#2007-07-13-1) PHP.net. 8. a b c History of PHP and related projects (http://www.php.net/history). The PHP Group. Consultado el 25 de febrero de 2008. 9. a b c d e PHP: PHP 4 ChangeLog (http://www.php.net/ChangeLog-4.php). The PHP Group (3 de enero de 2008). Consultado el 22 de febrero de 2008. 10. PHP: Using PHP from the command line - Manual: (http://us3.php.net/manual/en/features.commandline.php). The PHP Group. Consultado el 11 de septiembre de 2009. 11. Downloads (http://www.php.net/downloads.php#v4). PHP. Consultado el 29 de julio de 2009. 12. 4.4.9 Release Announcement (http://www.php.net/releases/4_4_9.php). PHP. Consultado el 29 de julio de 2009. 13. a b c PHP: PHP 5 ChangeLog (http://www.php.net/ChangeLog-5.php). The PHP Group (8 de noviembre de 2007). Consultado el 22 de febrero de 2008. 14. Built-in web server (http://php.net/manual/en/features.commandline.webserver.php). Consultado el 26 de marzo de 2012. 15. What has changed in PHP 5.5.x (http://php.net/manual/es/migration55.changes.php). Consultado el 13 de abril de 2013. 16. PHP 6: Features, Release Date, Hosting and Download (http://smartwebdeveloper.com/php/php-6-features-release-datehosting-download). Consultado el 6 de mayo de 2011.
es.wikipedia.org/wiki/PHP 7/8

17/07/13

PHP - Wikipedia, la enciclopedia libre

17. PHP: Sintaxis bsica (http://php.net/manual/es/language.basic-syntax.php). Consultado el 13 de abril de 2013.

Enlaces externos
Wikilibros alberga un libro o manual sobre Programacin en PHP. Sitio web oficial de PHP (http://www.php.net) (en ingls) Tutorial de PHP y Mysql (http://paginaweb2.com/cat-php-y-mysql-6) Manual oficial en espaol (http://docs.php.net/manual/es) Obtenido de http://es.wikipedia.org/w/index.php?title=PHP&oldid=68298918 Categoras: PHP Siglas de informtica Compiladores e interpretadores libres Esta pgina fue modificada por ltima vez el 12 jul 2013, a las 01:23. El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0; podran ser aplicables clusulas adicionales. Lanse los trminos de uso para ms informacin. Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de lucro.

es.wikipedia.org/wiki/PHP

8/8