Está en la página 1de 37

m PHP es un lenguaje interpretado de propósito general

ampliamente usado, diseñado especialmente para


desarrollo web y que puede ser incrustado dentro de
código HTML. Generalmente se ejecuta en un
servidor web, tomando el código en PHP como su
entrada y creando páginas web como salida. Puede ser
desplegado en la mayoría de los servidores web y en
casi todos los sistemas operativos y plataformas sin
costo alguno. PHP se encuentra instalado en más de
20 millones de sitios web y en un millón de servidores,
el número de sitios en PHP ha compartido algo de su
preponderante sitio con otros nuevos lenguajes no tan
poderosos desde agosto de 2005. Este mismo sitio web
de Wikipedia está desarrollado en PHP. Es también el
módulo Apache más popular entre las computadoras
que utilizan Apache como servidor web. La versión
más reciente de PHP es la 5.3.3, del 22 de julio de
2010.
m El gran parecido que posee PHP con los lenguajes más
comunes de programación estructurada, como C y Perl,
permiten a la mayoría de los programadores crear
aplicaciones complejas con una curva de aprendizaje
muy corta. También les permite involucrarse con
aplicaciones de contenido dinámico sin tener que
aprender todo un nuevo grupo de funciones.
m Aunque todo en su diseño está orientado a facilitar la
creación de página web, es posible crear aplicaciones
con una interfaz gráfica para el usuario, utilizando la
extensión PHP-Qt o PHP-GTK. También puede ser
usado desde la línea de órdenes, de la misma manera
como Perl o Python pueden hacerlo; a esta versión de
PHP se la llama PHP-CLI (þ  
  £.
m Fue originalmente diseñado en Perl, con base en la escritura de un
grupo de CGI binarios escritos en el lenguaje C por el programador
danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su
currículum vítae y guardar ciertos datos, como la cantidad de
tráfico que su página web recibía. El 8 de junio de 1995 fue
publicado "6ersonal ome 6age Tools" después de que Lerdorf lo
combinara con su propio (  para crear PHP/FI.
m 6 6
[os programadores israelíes del Technion, Zeev Suraski y Andi
Gutmans, reescribieron el analizador sintáctico ( 
 en inglés)
en el año 1997 y crearon la base del PHP3, cambiando el
nombre del lenguaje a la forma actual. Inmediatamente
comenzaron experimentaciones públicas de PHP3 y fue
publicado oficialmente en junio del 1998. Para 1999, Suraski y
Gutmans reescribieron el código de PHP, produciendo
lo que hoy se conoce como motor Zend. También
fundaron Zend Technologies en Ramat Gan, Israel.
m 6 6
En mayo de 2000 PHP 4 fue lanzado bajo el
poder del motor Zend Engine 1.0. El día 13
de julio de 2007 se anunció la suspensión
del soporte y desarrollo de la versión 4 de
PHP,[2] a pesar de lo anunciado se ha
liberado una nueva versión con mejoras de
seguridad, la 4.4.8 publicada el 13 de
enero del 2008 y posteriormente la versión
4.4.9 publicada el 7 de agosto de 2008.[3]
Según esta noticia [3] se dará soporte a
fallos críticos hasta el 2008-08-09,......
m El 13 de julio de 2004, fue lanzado PHP 5,
utilizando el motor Zend Engine 2.0 (o Zend
Engine 2). La versión más reciente de PHP
es la 5.3.3 (22 de julio de 2010), que incluye
todas las ventajas que provee el nuevo
Zend Engine 2 como:
m Mejor soporte para la Programación
Orientada a Objetos, que en versiones
anteriores era extremadamente
rudimentario.
m Mejoras de rendimiento.
m Mejor soporte para MySQL con extensión
completamente reescrita.
m Mejor soporte a XML ( XPath, [OM, etc. ).
m Soporte nativo para SQLite.
m Soporte integrado para SOAP.
m Iteradores de datos.
m Manejo de excepciones.
m Mejoras con la implementación con
Oracle.
m Aún se siguen publicando versiones de
la rama 5.2.X, siendo publicada la
versión 5.2.14 el 22 de Julio de 2010,
aunque la mayoría son actualizaciones
de seguridad
m Está previsto el lanzamiento en breve de la
rama 6 de PHP. Cuando se lance esta nueva
versión quedarán solo dos ramas activas en
desarrollo (PHP 5 y 6), pues se abandonó el
desarrollo y soporte de PHP 4 el 13 de julio de
2007.[4]
m Las diferencias que encontraremos frente a
PHP 5.* son:
m Soportará Unicode;
m limpieza de funcionalidades obsoletas como

   
,
  , etc;
m PECL y eliminación de soporte ereg;
m mejoras en orientación a objetos;
m inclusión en el núcleo de h  y
h  así como (   ;
m return por referencia devolverá un error;
m se retira el soporte de las bibliotecas
( y ;
m etc.
m Es un lenguaje multiplataforma.
m Completamente orientado al desarrollo de
aplicaciones web dinámicas con acceso a
información almacenada en una Base de [atos.
m El código fuente escrito en PHP es invisible al
navegador y al cliente ya que es el servidor el que
se encarga de ejecutar el código y enviar su
resultado HTML al navegador. Esto hace que la
programación en PHP sea segura y confiable.
m Permite aplicar técnicas de programación
orientada a objetos.
m Biblioteca nativa de funciones sumamente amplia
e incluida.
m †o requiere definición de tipos de variables
aunque sus variables se pueden evaluar también
por el tipo que estén manejando en tiempo de
ejecución.
m Tiene manejo de excepciones (desde PHP5).
m Si bien PHP no obliga a quien lo usa a seguir una
determinada metodología a la hora de programar
(muchos otros lenguajes tampoco lo hacen), aun
estando dirigido a alguna en particular, el
programador puede aplicar en su trabajo
cualquier técnica de programación y/o desarrollo
que le permita escribir código ordenado,
estructurado y manejable. Un ejemplo de esto son
los desarrollos que en PHP se han hecho del patrón
de diseño `   

(o MVC), que
permiten separar el tratamiento y acceso a los
datos, la lógica de control y la interfaz de usuario
en tres componentes independientes (ver más
abajo
 
6 6).
m PHP no es en sí un lenguaje de programación
orientado a objetos (POO), pero desde hace ya
unas versiones se ha implementado el uso de
clases y objetos. Aquí tenemos un ejemplo de una
clase sencilla en PHP:
m class Clase {
m var $Una_variable; //Creamos las variables
m var $Otra_variable;
m
m function Clase($var1, $var2){ //Creamos un
constructor que defina las variables "Una_variable"
y "Otra_variable" dentro de la clase.
m $this->Una_variable = $var1;
m $this->Otra_variable = $var2;
m }
m }
m Ahora veremos como se llama a la clase
previamente creada:
m $clase = new Clase("Esta es la variable 1", "Esta es
la variable 2");
m El ejemplo anterior es válido para php4, el mismo
ejemplo escrito php5, varía en el nombre del
constructor y en la forma en como se declara la
variable.
m <?php
m
m class Clase {
m public $Una_variable; //Creamos las variables
para php5
m public $Otra_variable;
m function __construct($var1, $var2){ //Creamos un
constructor que defina las variables "Una_variable" y
"Otra_variable" dentro de la clase.
m $this->Una_variable = $var1;
m $this->Otra_variable = $var2;
m }
m }
m
m $instancia = new Clase('rojo','blanco');
m
m echo "El color de la variable \$Una_variable es : ".
$instancia->Una_variable . " El color de la otra
variable \$Otra_variable es: " .
m $instancia->Otra_variable;
m
m ?>
m El valor public indica que la propiedad o el
método están disponible para todo código
que desee acceder a los mismos. PHP 5
ofrece tres niveles de visibilidad para utilizar
en clases: public, private, protected. A la
vez, cambia la forma en la que se declara
el constructor de la clase, ya que en PHP 4
se usaba el mismo nombre de esta, y en
PHP 5 se crea el método especial
 

m Magento m PHP-†uke
m OsCommerce m phpPgAdmin
m PrestaShop m PhpWiki
m WordPress m PmWiki
m Burning Board m Zikula (anteriormente
m CMSformE llamado Post†uke)
m [okuwiki m Smarty
m [rupal m SPIP
m Gallery Project m SugarCRM
m Mambo Open Source m vBulletin
m MediaWiki (desarrollado m Xaraya
para Wikipedia) m Xoops
m Moodle m Joomla
m Phorum m MO[x
m phpMyAdmin
m Zend Framework (Oficial, de los
desarrolladores de PHP)
m Kohana
m Symfony
m CakePHP
m PHP Prado
m CodeIgniter
m Yii Framework
m Lithium
m Sapphire
m (Otros Frameworks en PHP y en otros
lenguajes aquí.)
m Algunos de los Entornos de [esarrollo Integrados, en inglés
(I[E, Integrated [evelopment Environment), para PHP
más conocidos o habituales son:
m [reamweaver, comercial, de la casa Adobe
actualmente en la versión CS5 (11.0.4909)
m P[T,[1] plugin de Eclipse: GPL - (Sun).
m PHPEclipse,[1] otro plugin de Eclipse
m †etBeans , libre, multiplataforma, utiliza Symfony, auto-
completado de código, auto-identador..
m Zend Studio: Comercial - (Zend).
m Aptana Studio: GPL, existe una versión comercial. [ebe
instalarse el plugin para PHP. Está basado en Eclipse, pero
posee características que lo hacen mas deseable que el
Eclipse P[T; entre ellas: auto-completado de código,
auto-identador.
m Komodo I[E: Komodo Edit, libre y gratuito, el I[E es
licencia comercial - (Mozilla).
m [22 -Jul -2010 ]
m El equipo de desarrollo de PHP se complace en anunciar la
inmediata disponibilidad de PHP 5.3.3 . Este lanzamiento se centra
en la mejora de la estabilidad y la seguridad de la rama PHP 5.3.x
con más de 100 correcciones de errores , algunos de los cuales
están relacionados con la seguridad . Todos los usuarios son
alentados a actualizar a esta versión.
m     

m Los métodos con el mismo nombre que el último elemento de un
nombre de clase namespaces ya no ser tratado como constructor.
Este cambio no afecta a las clases no namespaces .
m < ? php
espacio de nombres Foo;
Bar clase {
barra de función pública () {
/ / tratados como constructor en PHP 5.3.0-5.3.2
/ / tratados como método regular en PHP 5.3.3
}
}
?>
m †o hay impacto en la migración de 5.2.x , porque los espacios de
nombres sólo se introdujeron en PHP 5.3.
m var_export Reescribir () para usar smart_str en lugar
de buffers de salida, impide la divulgación de
datos si se produce un error grave ( CVE -2010-
2531) .
m Se ha corregido un posible problemas de recursos
en la destrucción shm_put_var () .
m Se ha corregido un fuga de información posible a
causa de la interrupción del operador XOR .
m Se ha corregido un posible corrupción de memoria
a causa de pasar inesperada llamada del
refernce tiempo y la memoria después de
vapulear a través de devoluciones de llamada .
m Se ha corregido un posible corrupción de memoria
en ArrayObject : : uasort () .
m [22 -Jul -2010 ]
m El equipo de desarrollo de PHP se complace en
anunciar la inmediata disponibilidad de PHP 5.2.14 .
Este lanzamiento se centra en la mejora de la
estabilidad de la rama PHP 5.2.x con más de 60
correcciones de errores , algunos de los cuales están
relacionados con la seguridad .
m Este lanzamiento marca el fin del apoyo activo para
PHP 5.2. A raíz de esta versión de PHP 5.2 serie
recibirá ningún tipo de mantenimiento mayor de
errores activos . arreglos de seguridad para PHP 5.2
puede ser publicada en una base de caso por caso
. Todos los usuarios de PHP 5.2 se les anima a
actualizar a PHP 5.3.
m var_export Reescribir () para usar smart_str en lugar
de buffers de salida, impide la divulgación de datos
si se produce un error grave .
m Se ha corregido un posible interrupción de fugas
matriz en strrchr () . ( CVE -2010- 2484)
m Se ha corregido un posible interrupción de fugas
matriz en strchr () , strstr () , substr () , chunk_split () ,
strtok () , addcslashes () , str_repeat () , trim () .
m Se ha corregido un posible corrupción de memoria
en substr_replace () .
m Fija SplObjectStorage problemas unserialization (CVE-
2010 -2225) .
m Se ha corregido un posible pila exaustion dentro
fnmatch () .
m PHP se enorgullece en anunciar TestFest
2010. TestFest es la campaña anual de
PHP para aumentar la cobertura de
código de PHP en general a través de
pruebas HPTP . [urante TestFest , PHP
grupos de usuarios y particulares de
todo el mundo organizan eventos
locales , cuando las pruebas nuevas se
escriben y se introducen nuevos
contribuyentes a la suite de pruebas de
PHP .
m PHP 1.0
m 8 de junio de 1995
m Oficialmente llamado "Herramientas personales de trabajo (PHP
Tools)". Es el primer uso del nombre "PHP".
m PHP Version 2 (PHP/FI)
m 16 de abril de 1996
m Considerado por el creador como la "más rápida y simple
herramienta" para la creación de páginas webs dinámicas .
m PHP 3.0
m 6 de junio de 1998
m [esarrollo movido de una persona a muchos desarrolladores.
Zeev Suraski y Andi Gutmans reescriben la base para esta
versión.
m PHP 4.0
m 22 de mayo de 2000
m Se añade un sistema más avanzado de análisis de etiquetas en
dos fases análisis/ejecución llamado el motor Zend.
m PHP 4.1
m 10 de diciembre de 2001
m Introducidas las variables superglobals ($_GET, $_SESSIO†,
etc.).
m PHP 4.2
m 22 de abril de 2002
m Se deshabilitan register_globals por defecto.
m PHP 4.3
m 27 de diciembre de 2002
m Introducido la CLI, en adición a la CGI.
m PHP 4.4
m 11 de julio de 2005
m PHP 5.0
m 13 de julio de 2004
m Motor Zend II con un nuevo modelo de objetos.
m PHP 5.1
m 25 de noviembre de 2005
m PHP 5.2
m 2 de noviembre de 2006
m Habilitado el filtro de extensiones por defecto.
m PHP 5.2.4
m 30 de agosto de 2007
m PHP 5.2.5
m 8 de noviembre de 2007
m Versión centrada en mejorar la estabilidad (+60 errores
solucionados).
m PHP 5.2.8
m 8 de diciembre de 2008
m PHP 5.2.9
m 26 de febrero de 2009
m [iversas mejoras en el ámbito de la seguridad (+50
errores solucionados).
m PHP 5.3.1
m 19 de noviembre de 2009
m [iversas mejoras en el ámbito de la seguridad (36
errores solucionados)..
m PHP 5.3.2
m 4 de marzo del 2010
m [iversas mejoras en el ámbito de la seguridad (99
errores solucionados)..
m PHP 5.3.3
m 22 de julio del 2010
m [iversas mejoras en el ámbito de la seguridad y
estabilidad. (mas de 100 errores solucionados)..
m PHP 6
m S/[PHP 5.2.12
m 17 de diciembre de 2009
m [iversas mejoras en el ámbito de la seguridad
(+50 errores solucionados).

También podría gustarte