¿Qué es PHP?
Es un lenguaje de programación interpretado (Lenguaje
de alto rendimiento), diseñado originalmente para la creación de páginas
web dinámicas. Las siglas PHP es un acrónimo recursivo que
significa Hypertext Pre-processor.
¿Quién y cuando fue
creado?
Fue creado originalmente
por Rasmus Lerdorf en 1994.
Fue originalmente
diseñado en Perl[1], con base en la
escritura de un grupo de CGI[2] 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.
Un poco de Historia
|
Significado
|
|
|
Rojo
|
Sin
soporte
|
|
Verde
|
Con
soporte
|
|
Azul
|
Lanzamiento
futuro
|
|
Versión mayor
|
Versión menor
|
Fecha de lanzamiento
|
Notas
|
|
1
|
1.0.0
|
1995-06-08
|
Llamada
oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera
versión en usar el nombre "PHP".
|
|
2
|
2.0.0
|
1997-11-01
|
Considerada
por sus creadores la "herramienta más rápida y sencilla" para crear
páginas web dinámicas.
|
|
3
|
3.0.0
|
1998-06-06
|
Zeev
Suraski y Andi Gutmans reescribieron la base para esta versión.
|
|
4
|
4.0.0
|
2000-05-22
|
Se añadio
un sistema de parsing de dos fases llamado motor Zend.
|
|
4.1.0
|
2001-12-10
|
Se introducen 'superglobales' ($_GET, $_POST, $_SESSION, etc.)
|
|
|
4.3.0
|
2002-12-27
|
Se
introduce CLI, y CGI.
|
|
|
4.4.0
|
2005-07-11
|
Se añaden
páginas man para phpize y php-config.
|
|
|
4.4.9
|
2008-08-07
|
Mejoras de
seguridad y arreglo de bugs. Último lanzamiento de la serie PHP
4.4.
|
|
|
5
|
5.0.0
|
2004-07-13
|
Motor Zend
II con un nuevo modelo de objetos.
|
|
5.1.0
|
2005-11-24
|
Mejoras de
rendimiento con la introducción de variables de compilador para
el nuevo motor de PHP.
|
|
|
5.3.0
|
2009-06-30
|
Soporte
para espacios de nombres ; 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 librería para extensiones que funcionan con MySQL,
file info como reemplzado de mime_magic para mejor soporte MIME,
extensión de Internacionalización, y etiqueta ereg obsoleta.
|
|
|
5.3.1
|
2009-11-19
|
Cerca de
100 bug fixes.
|
|
|
5.3.4
|
2010-12-10
|
Mejoras a FPM SAPI.
|
|
|
5.3.5
|
2011-01-06
|
Arreglo de
vulnerabilidad crítica relacionada a punto flotante.
|
|
|
5.3.6
|
2011-03-10
|
Cerca de
60 bug fixes.
|
|
|
5.3.7
|
2011-08-18
|
Esta
versión se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los
cuales tienen implicaciones a la seguridad.
|
|
|
5.3.8
|
2011-08-23
|
Esta
versión arregla dos errores introducidos por la versión 5.3.7.
|
|
|
6
|
?.?
|
No date
set
|
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.
|
¿Qué usos tiene PHP?
Puede ser desplegado en la mayoría de los
servidores web y en casi todos los sistemas operativos y plataformas sin costo
alguno. El lenguaje 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 dominio con otros nuevos lenguajes no tan poderosos desde
agosto de 2005. El 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.
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.
Aunque todo en su diseño está orientado a
facilitar la creación de sitios webs, 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 (Command Line Interface).
¿Cómo funciona?
Cuando el cliente hace una petición al
servidor para que le envíe una página web, el servidor ejecuta el intérprete de
PHP. Éste procesa el script solicitado que generará el contenido de
manera dinámica (por ejemplo obteniendo información de una base de datos). El
resultado es enviado por el intérprete al servidor, quien a su vez se lo envía
al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash,
así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de
servidores de bases de datos tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft
SQL Server, Firebird y SQLite.
PHP también tiene la capacidad de ser
ejecutado en la mayoría 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 más populares ya que
existe en versión CGI, módulo para Apache, e ISAPI.
DIAGRAMA DE FUNCIONAMIENTO
|
Qué tengo que saber?
Como todo nuevo
conocimiento hacia algo tenemos que saber cuales son las características y
desventajas del sistema y asi poder decidir si nos ayudara a nuestra tarea.
Características
- Orientado
al desarrollo de aplicaciones web dinámicas con acceso a
información almacenada en una base de datos.
- 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.
- Biblioteca
nativa de funciones sumamente amplia e incluida.
- 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 (muchos otros lenguajes tampoco lo hacen), aun 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.
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 cache tanto
de en archivos y memoria.
- Las
variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer
asistencias para el tipeado 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.
Fuente:
Wikipedia





No hay comentarios:
Publicar un comentario