- Back to Home »
- PHP »
- PHP
Posted by : Unknown
lunes, 6 de octubre de 2014
PHP
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
"Personal Home Page Tools" después de que Lerdorf lo combinara con su
propio Form Interpreter para crear PHP/FI.
·
Características:
Orientado al desarrollo de aplicaciones web dinámicas
con acceso a información almacenada en una base de
datos.
·
Es considerado un lenguaje fácil de aprender, ya que en su
desarrollo se simplificaron distintas especificaciones, como es el caso de la
definición de las variables primitivas, ejemplo que se hace evidente en el uso
de php arrays.
·
El código fuente escrito en PHP es invisible al navegador
web 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.
·
Capacidad de conexión con la mayoría 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 módulos
(llamados ext's o extensiones).
·
Posee una amplia documentación en su sitio web oficial, entre la
cual se destaca que todas las funciones del sistema están explicadas y
ejemplificadas en un único archivo de ayuda.
·
Es libre, por lo que se presenta
como una alternativa de fácil acceso para todos.
·
Permite aplicar técnicas de programación
orientada a objetos. Incluso aplicaciones como Zend framework, empresa que
desarrolla PHP, están totalmente desarrolladas mediante esta metodología.
·
No 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.
·
Tiene manejo de excepciones (desde PHP5).
·
Si bien PHP no obliga a quien lo usa a seguir una determinada
metodología a la hora de programar, aún haciéndolo, el programador puede
aplicar en su trabajo cualquier técnica de programación o de 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 Modelo Vista Controlador (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.
·
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 ejecución, para ciertos
usos puede resultar un inconveniente que el código fuente no pueda ser
ocultado. La ofuscación es una técnica que puede dificultar
la lectura del código pero no necesariamente impide que el código sea
examinado.
·
Debido a que es un lenguaje interpretado, un script en PHP suele
funcionar considerablemente más lento que su equivalente en un lenguaje de bajo
nivel, sin embargo este inconveniente se puede minimizar con técnicas de caché tanto
en archivos como en memoria.
·
Las variables al no ser tipificadas dificulta a los diferentes
IDEs para ofrecer asistencias para el tipificado del código, aunque esto no es
realmente un inconveniente del lenguaje en sí. Esto es solventado por Zend
Studio añadiendo un comentario con el tipo a la declaración de la variable.
Versiones:
Versión Fecha de lanzamiento Fin de soporte Notas
1.0 08-06-1995 Llamada
oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera
versión en usar el nombre "PHP".14
2.0 01-11-1997 Considerada
por sus creadores la "herramienta más rápida y sencilla" para crear
páginas web dinámicas.14
3.0 06-06-1998 20-10-2000 Zeev Suraski y Andi Gutmans reescribieron la
base para esta versión.14
4.0 22-05-2000 23-01-2001 Se añadió un sistema de parsing de dos fases
llamado motor Zend.15
4.1 10-12-2001 12-03-2002 Se introducen 'superglobales' ($_GET, $_POST,
$_SESSION, etc.)15
4.2 22-04-2002 06-09-2002 Se deshabilitan register_globals por defecto.
Datos recibidos por la red no son insertados en el espacio de nombres global,
cerrando posibles agujeros de seguridad en las aplicaciones.15
4.3 27-12-2002 31-03-2005 Se introduce CLI, y CGI.15 16
4.4 11-07-2005 07-08-2008 Se añaden páginas man para phpize y
php-config.15
5.0 13-07-2004 05-09-2005 Motor Zend II con un nuevo modelo de
objetos.17
5.1 24-11-2005 24-08-2006 Mejoras de rendimiento con la introducción de
variables de compilador para el nuevo motor de PHP.17
5.2 02-11-2006 06-01-2011 Activida extensión de filtro por defecto.
Soporte JSON nativo.17
5.3 30-06-2009 07-201418 Soporte para espacios de nombres, enlace
estático en tiempo de ejecución, etiqueta de salto (goto limitada), Clausuras
nativas, Soporte nativo para archivos PHP (phar), recolección de basura para
referencias circulares, soporte mejorado para Windows, sqlite3, mysqlnd como
reemplazo a libmysql como biblioteca para extensiones que funcionan con MySQL,
fileinfo como reemplzado de mime_magic para mejor soporte MIME, extensión de
Internacionalización, y etiqueta ereg obsoleta.
5.4 01-03-2012 No
especificada Soporte para Trait y
sintaxis abreviada de array. Elementos
removidos: register_globals, safe_mode, allow_call_time_pass_reference,
session_register(), session_unregister() y session_is_registered(). Servidor web incorporado.19 Varias mejoras a
características existentes y al rendimiento, y requerimientos de memoria
menores.
5.5 20-06-2013 No
especificada Nuevos generadores para
bucles, empty() soporta expresiones. Se pierde el soporte para Windows XP y
Windows Server 2003.20
6.0 Sin fecha No
especificada El desarrollo de PHP 6
ha sido retrasado porque los desarrolladores decidieron que el enfoque actual
para tratar cadenas Unicode no es correcto, y están considerando formas
alternas para la siguiente versión.21 Las mejoras planeadas para PHP 6 fueron
añadidas en su lugar en PHP 5.3.0 (Soporte para espacios de nombre, enlace
estático en tiempo de ejecución, funciones lambda, clausuras, goto) y 5.4.0
(traits, revinculación de clausura).
Bibliográfia:
PHP.rtfDescargar
