Mejores versiones que existen de PHP

Todos los desarrolladores de software para computadoras trabajan con un lenguaje para la creación de sitios web, es el mismo que cuando usted toca una tecla sin querer, aparecen una serie de caracteres que no puede comprender. En este post le vamos a enseñar todo sobre las versiones de PHP que puede emplear para desarrollar su sitio web, o integrar en las páginas HTML.

versiones php

Las versiones de PHP proporcionan un gran conjunto de funciones para la operación de bases de datos, y son fáciles de usar para instalar las bibliotecas PHP de Apache; asimismo son de código abierto, lo que significa que el usuario no depende de una empresa específica para arreglar cosas que no funcionan, y no tiene que pagar actualizaciones anuales para obtenerla, porque es gratis.

Versiones de PHP

Son muchas las ventajas que atraen el uso de PHP, pero hay que tener en cuenta la compatibilidad de las versiones PHP; todo esto se lo explicaremos más adelante en este post, para que usted también pueda hacer uso de ellas. De momento, comenzaremos hablándole de sus antecedentes.

Historia

Nacido en 1994 por el danés Rasmus Lerdorf, PHP era originalmente una colección de scripts CGI que permitían una fácil gestión de páginas personales. Según el anuncio original del autor de PHP 1.0 en el grupo de noticias comp.infosystems.www.authoring.cgi, el significado original del acrónimo era Página de inicio personal.

El paquete original fue posteriormente extendido y reescrito por el mismo Lerdorf en C, agregando características como soporte a la base de datos mSQL, y comenzó a llamarse PHP / FI, donde FI significaba Form Interpreter (intérprete de formularios), brindando la posibilidad de integrar código PHP en código HTML para simplificar la creación de páginas dinámicas.

En 1997 se estimó que alrededor de 50.000 sitios web estaban basados en PHP.

Historial de lanzamiento

El lenguaje comenzó a gozar de cierta popularidad entre los proyectos web de código abierto y, por lo tanto, fue notado por Zeev Suraski y Andi Gutmans, dos jóvenes programadores; y ambos colaboraron en 1998 con Lerdorf en el desarrollo de la tercera versión de PHP, cuyas siglas adquirieron su significado actual, reescribiendo el motor que fue bautizado Zend a partir de una contracción de sus nombres.

versiones php

Las características clave de la versión PHP 3.0, fruto de su trabajo, fueron la extraordinaria extensibilidad, la conectividad a la base de datos y el soporte inicial para el paradigma de objetos; y a finales de 1998, PHP 3.0 se instaló en aproximadamente el 10% de los servidores web de Internet.

PHP en este punto se volvió lo suficientemente maduro como para competir con lenguajes del lado del servidor como ASP, desarrollado por Microsoft, y comenzó a usarse a gran escala; la versión 4 de PHP se lanzó en 2000 y presentó mejoras significativas, y la última versión en desarrollo es la séptima, desarrollada por un equipo de programadores, que todavía incluye a Lerdorf, Suraski y Gutmans.

La popularidad del lenguaje PHP crece constantemente gracias a su flexibilidad, en junio de 2001 superó el millón de sitios que lo utilizan, y en octubre de 2002, más del 45% de los servidores Apache utilizaban PHP.

En enero de 2005, el TIOBE Programming Community Index  le otorgó el título de «Lenguaje de programación de 2004», un ranking que evalúa la popularidad de los lenguajes de programación sobre la base de la información recopilada por los motores de búsqueda.

En 2006, la configuración de LAMP (Linux, Apache, MySQL, PHP) superó el 50% del número total de servidores en la red mundial.

Para el año 2008, PHP 5 se convirtió en la única versión estable en desarrollo, debido que a partir de PHP 5.3.0, el lenguaje implementa una función llamada «enlace estático tardío» que puede usarse para hacer referencia a la clase llamada en un contexto de herencia estática.

A partir del 5 de febrero de 2008, debido a la iniciativa GoPHP5 respaldada por varios desarrolladores de PHP, muchos de los proyectos de código abierto de alto perfil dejan de admitir PHP 4 en el nuevo código y promueven la transición de PHP 4 a PHP 5.

La versión 5 de PHP alcanzó la versión 5.6 antes de ser abandonada desde un punto de vista de desarrollo y soporte en enero de 2019; y la versión 7 se lanzó el 3 de diciembre de 2015 y actualmente todavía está en desarrollo y con soporte activo.

Características de PHP

PHP reanuda de muchas formas la sintaxis de C, al igual que muchos lenguajes modernos, y de Perl;  es un lenguaje de tipiado débil y desde la versión 5 mejora el soporte para el paradigma de programación orientada a objetos. Ciertas construcciones derivadas de C, como los operadores entre bits y la gestión de cadenas como arreglos, permiten en algunos casos actuar a bajo nivel; sin embargo, es fundamentalmente un lenguaje de alto nivel, una característica reforzada por la existencia de sus más de 3.000 funciones básicas de API.

versiones php

Debido al control de versiones de PHP, este es capaz de interactuar con innumerables DBMS, incluidos MySQL, PostgreSQL, MariaDB, Oracle, Firebird, IBM DB2, Microsoft SQL Server e incluso bases de datos NoSql como MongoDB. Es compatible con numerosas tecnologías como XML, SOAP, IMAP, FTP, CORBA.

Asimismo, las versiones de PHP se integran con otros lenguajes / plataformas como Java y .NET y hay un contenedor para todas las bibliotecas populares como CURL, GD, Gettext, GMP, Ming, OpenSSL y más.

Proporciona una API específica para interactuar con Apache, aunque, naturalmente, funciona con muchos otros servidores web. También está muy bien integrado con el DBMS de MySQL para el que tiene más de una API (mysql, mysqli, PDO). Por esta razón, existe una gran cantidad de scripts y bibliotecas PHP disponibles gratuitamente en Internet. La versión 5 integra una pequeña base de datos incrustada, SQLite.

Las versiones PHP en WordPress tienen  un archivo llamado PEAR que proporciona un marco de biblioteca reutilizable para desarrollar aplicaciones PHP y PECL que recopila todas las extensiones conocidas escritas en C.

PHP aún no tiene soporte nativo para Unicode o cadenas multibyte; el soporte Unicode está en desarrollo para una versión futura de PHP y permitirá el uso de caracteres no ASCII en cadenas y nombres de funciones, clases y métodos.

Bases de datos (MySQL)

PHP permite el procesamiento de datos de la base de datos MySQL. Los datos se solicitarán, insertarán y modificarán a través de las consultas adecuadas utilizando algunas extensiones, incluida MySQLi.

La extensión MySQLi, donde la «i» significa «mejorado», se ha puesto a disposición de PHP para aprovechar algunas funciones nuevas que están disponibles en las versiones de MySQL versión 4.1.3 y posteriores; y también está disponible para PHP 5 y versiones posteriores.

Ejemplo de conexión con una base de datos MySQL usando la extensión MySQLi para la solicitud de datos

<? Php

// Conéctese a MySQL con la extensión MySQLi

$ mysqli = new mysqli (‘localhost’, ‘database_user_name’, ‘database_password’, ‘database_name’);

/ *

* Esta es la forma oficial de comprobar si ha fallado una conexión MySQL,

* PERO $ connect_error no es compatible hasta PHP 5.2.9 y 5.3.0.

* /

if ($ mysqli-> connect_error) {

die («Conexión fallida, motivos:». $ mysqli-> connect_error);

// Probemos una consulta asumiendo que estamos procesando datos de una libreta de direcciones similar:

$ SQLQuery = $ mysqli-> query («SELECCIONAR dirección, teléfono DE usuarios DONDE nombre = ‘Frank'»);

// De esta consulta obtendremos la dirección y el número de teléfono de la persona llamada Francesca,

// asumiendo que está presente en la tabla de usuarios de la base de datos en cuestión.

// Ahora «transformemos» los datos recibidos de la consulta en una matriz asociativa que se puede usar más tarde

$ fila = $ SQLQuery-> fetch_assoc ();

// Mostramos en pantalla, por ejemplo, el número de teléfono de la matriz

echo «El número de teléfono de Francesca es:». $ Fila [‘teléfono’];

// Cerrando la conexión a la base de datos

$ Mysqli-> cerrar ();

?>

versiones php

Ejemplos de código

El contenido de este artículo o sección sobre el tema de la informática tiene un estilo demasiado manual.

Variables

Los nombres de variables en PHP siempre comienzan con un signo de dólar ($) y el siguiente carácter no tiene que ser un número, por ejemplo, $ 1 o $ 2 no son nombres de variable válidos. Asimismo, estos nombres se distinguen entre mayúsculas y minúsculas, es decir, $ foo y $ FOO son dos variables distintas.

Una variable puede contener todos los caracteres A-Z, a-z, 0-9 y _. Una vez definidos, se crean instancias sin definir explícitamente su «tipo»

$ hola = «¡Hola mundo!»;

Para mostrar el contenido de $ hello, puede usar la instrucción echo:

echo $ hola;

que muestra «¡Hola mundo!». Si la variable $ hello no existiera, echo generalmente generaría un error no fatal (Aviso).

Instrumentos de cuerda

En PHP, una cadena de caracteres alfanuméricos se representa de dos formas: encerrándola entre comillas dobles («) o simple (‘). Cuando se utilizan comillas dobles, se interpretan los caracteres especiales (por ejemplo, la tabulación,» col1 \ tcol2 «o la carácter de nueva línea, «línea1 \ nlínea2») y se devuelve el contenido de las variables, es decir

echo «Hola soy: $ hola»;

Imprimir: «Hola vale: ¡Hola mundo!». Con comillas simples, la cadena se guarda y se utiliza tal cual.

Array (y foreach)

PHP trata las matrices como mapas asociativos, es decir, como una lista de claves asociadas de forma única con un determinado valor. Por lo tanto, las matrices en PHP se pueden usar como una matriz común, como una lista (vector), pila, cola u otra. Además, cualquier elemento del arreglo puede contener a su vez otros arreglos, incluso multidimensionales; y todos los elementos del arreglo o subarreglos pueden ser de diferentes tipos de variables, dando así la posibilidad de crear estructuras de datos complejos.

Las matrices son dinámicas, de hecho, pueden eliminarse mediante unset ()

versiones php

Dado que las matrices en PHP son asociativas, se pueden usar a través de una construcción llamada foreach que hace viable el acceso al contenido al obtener todas las combinaciones de teclas individuales => valor de matriz.

Código de ejemplo de una matriz asociativa en la que el nombre de cada ciudad corresponde al número de habitantes, este  ejemplo muestra cada ciudad con su número de habitantes y luego la suma de todos los habitantes.

<? Php

$ residentes = matriz (

‘Turín’ => 908551,

‘Milán’ => 1315791,

‘Roma’ => 2753000

);

$ suma = 0;

foreach ($ residentes como $ clave => $ valor) {

echo «Ciudad $ clave tiene $ habitantes de valor.»;

$ suma + = $ valor;

}

echo «¡Y hay habitantes de $ sum en total!»;

?>

El resultado del código es, La ciudad de Turín tiene 908551 habitantes. La ciudad Milán tiene 1315791 habitantes. La ciudad de Roma tiene 2753000 habitantes. ¡Y en total hay 4977342 habitantes!

Funciones

Las funciones en PHP pueden tener un conjunto mixto de parámetros opcionales con valores predeterminados y parámetros obligatorios, esto hace que el concepto de sobrecarga en PHP sea inútil.

Ejemplo de una función con un parámetro obligatorio y uno opcional con un valor predeterminado

<? Php

función aprecia ($ sujeto, $ apreciación = «gratis») {

return «¡Déjame decirte que $ subject es $ apreciación! <br />»;

echo aprecia («Helado», «delicioso»); // Resultado: ¡Déjame decirte que Helado es delicioso!

echo me gusta («Helado»); // Resultado: ¡Déjame decirte que Helado es gratis!

echo me gusta (); // Advertencia de error, porque el primer argumento de la función me gusta no es opcional

?>

versiones php

Cualquier variable de cualquier tipo creada dentro de la función es local, para especificar variables globales dentro de la función, use global $ variable.

Ejemplo

<? Php

experimento de función () {

global $ a;

$ a = «tres»;

$ b = «cuatro»;

echo «Durante: $ a $ b»;

$ a = «uno»;

$ b = «dos»;

echo «Antes: $ a $ b»;

experimentar();

echo «Después: $ a $ b»;

?>

El resultado será: primero uno dos durante tres cuatro, después de tres dos.

El bucle for

<? Php
/ *
* En este caso se imprime en pantalla la variable $ n, posteriormente
* se incrementa en 1, el ciclo termina cuando $ n es igual a 9 (el ciclo cuenta de 0 a 9, es decir, 10 veces).
* /

para ($ n = 0; $ n <= 9; $ n ++) {
echo $ n;
// Salida -> 0123456789
?>

El bucle while

<? Php
/ *
* En este caso, veamos cómo imprimir los resultados extraídos en pantalla
* desde una base de datos MySQL, ejecutando una consulta SQL.
* Este script está incompleto, ya que primero es necesario realizar
* la conexión a la base de datos MySQL a través de mysqli o PDO.
* /

$ resultado = $ mysqli-> query («seleccionar ID de personas»);

while ($ fila = $ resultado-> fetch_assoc ()) {
echo $ fila [‘id’]. «<br />» }

/ *
* De esta forma extraemos datos de una base de datos MySQL
* en forma de matriz que luego se imprimirá a través de un bucle while
* /
?>

versiones php

99 botellas de cerveza

El siguiente ejemplo imprime la letra de la canción 99 Bottles of Beer.

<? Php
/ *
* Este es un comentario. Otras formas de comentar son los símbolos // y #
* Este tipo de comentario no necesita asteriscos (*) al principio
* de cada línea, pero esto se hace por convención. Los símbolos // y #
* comente solo en el texto después de ellos y hasta el final de la línea;
* no es necesario finalizar el comentario con caracteres especiales.
* /

/ *
* Primero definimos una función llamada «plural».
* Devuelve una «s» si el argumento pasado no es 1.
* /
función plural ($ número) {
// El operador ternario (! =? 🙂 es una estructura condicional
// similar a if-else: (condición? verdadero: falso)
return ($ numero! = 1)? ‘s’: »;
// Definimos una variable llamada $ a_capo que contiene un retorno HTML,
// un retorno y un carácter de nueva línea:
$ a_capo = «<br /> \ r \ n»;

para ($ i = 99; $ i> 0; $ i–) {
echo «$ i botella». plural ($ i). «de cerveza en la pared, $ a_capo»;
// No necesitamos repetir el comando echo para cada línea:
echo «$ i botella». plural ($ i). «de cerveza. $ a_capo
Tome uno, páselo, $ a_capo «.
((($ i – 1)! = 0)? $ i – 1: ‘no más’).
‘botella’. plural ($ i – 1). «de cerveza en la pared. $ a_capo $ a_capo»;
/ *
* PHP le permite crear cadenas en varias líneas, siempre que
* encuentra un punto y coma (;) que finaliza la declaración.
* Un punto (.) Concatena varias cadenas juntas.
* Las variables que comienzan con el carácter «$» se interpretan
* también entre comillas dobles («), pero no entre comillas simples (‘).
* Las funciones, como plural (), no se interpretan entre comillas.
* /
echo «Ve a la tienda, $ a_capo compra un poco más, $ a_capo ¡99 botellas de cerveza en la pared!»;
?>

versiones php

Inclusiones

Puede incluir una página PHP dentro de otra para ejecutar el código para evitar código redundante y acceder a variables, funciones y clases definidas en la página incluida.

Para hacer esto, usamos una de las siguientes declaraciones include, include_once, require y require_once.

Ejemplo

<? Php

incluye ‘header.php’;

echo «¡Hola mundo!»;

incluye ‘footer.php’;

?>

Tipos de inclusión

include cuando se desea enviar solo una señal de advertencia sin interrumpir la ejecución del programa si la página a incluir no existe

require cuando queremos que se envíe una señal de error fatal y que el programa sea abortado si la página a incluir no existe

include_once, require_once cuando el comando podría repetirse varias veces incluso en diferentes archivos, creando así (potencialmente) una inclusión recursiva, pero no desea que la página se incluya más de una vez

Si la página a incluir no existe, se comportan de manera similar a las respectivas mencionadas anteriormente.

XAMPP, LAMP, WAMP, MAMP, UwAmp

Veamos ahora estos acrónimos y las diferencias en versiones PHP, en donde cada una de estas plataformas también forman parte de sus características.

XAMPP

Es una plataforma de software libre y multiplataforma que consta de Apache HTTP Server, la base de datos MariaDB y todas las herramientas necesarias para utilizar los lenguajes de programación PHP y Perl. El nombre es un acrónimo del software mencionado anteriormente en donde la X significa x-platform, la abreviatura de multiplataforma en inglés o multiplataforma.

Sitios web y otras plataformas dinámicas de desarrollo web y sistemas de gestión de contenido como WordPress, Drupal y Joomla a menudo dependen de estas plataformas.

LAMP

Es un acrónimo que indica una plataforma de software para el desarrollo de aplicaciones web que toma su nombre de las iniciales de los componentes de software con los que está hecha.

La plataforma LAMP es una de las más utilizadas a nivel mundial, cada una de las aplicaciones que la componen está diseñada para un excelente funcionamiento en conjunto con las demás. Un paquete que contiene dicho software para diferentes sistemas operativos es XAMPP, que reúne las plataformas LAMP (o LAMPP) y WAMP (o WAMPP).

versiones php

WAMP

Es un acrónimo que indica una plataforma de software de desarrollo web / base de datos que toma su nombre de las iniciales de los componentes de software con los que está hecha. Sus requisitos previos son

Windows, el sistema operativo que ya debe estar instalado en la PC;

Componentes instalados

Apache, el servidor web

MySQL, el sistema de administración de bases de datos (o servidor de bases de datos) con SQLite y kits de herramientas gráficos relacionados

PHP, Perl y / o Python, lenguajes de scripting

De hecho WAMP es la versión adaptada para Windows de la plataforma AMP, así como LAMP es la adaptada para GNU / Linux.

MAMP

MAMP es un acrónimo que se refiere a una colección de software libre distribuidos juntos para el funcionamiento de un servidor web para sitios web dinámicos, en el sistema operativo macOS.

El acrónimo significa las iniciales de los siguientes programas

Mac OS X, el sistema operativo

Apache, el servidor web

MySQL, el sistema de gestión de bases de datos (o servidor de bases de datos)

P como PHP, Perl o incluso Python, estos son lenguajes de desarrollo para programación web

El acrónimo MAMP, además de ser un término genérico, también es el nombre de un software específico

Originalmente, solo Apache se integraba en Mac OS X. Además, Mac OS X 10.5 (y posterior) incluye un motor PHP preconfigurado con MySQL sin fuente. En general, MAMP se usa como plataforma de desarrollo y generalmente no se usa para producción.

Entre los diversos software del tipo MAMP, uno de los más famosos se llama MAMP. Está disponible en dos versiones: una versión de software libre, llamada MAMP, publicada bajo la Licencia Pública General GNU y una versión de soporte de pago, llamada MAMP PRO.

Principales sitios desarrollados con versiones de PHP

Muchas páginas y otras plataformas dinámicas de desarrollo web y sistemas de gestión de contenido como WordPress, Drupal y Joomla a menudo dependen de estas plataformas; pero también Facebook, Wikipedia, MailChimp, Yahoo y Tumblr emplean las diferentes versiones de PHP.

versiones php10

Inconvenientes

Ahora, como sabemos, las versiones PHP también tienen algunos inconvenientes, por lo que destacaremos algunos de ellos de la siguiente manera

  • Se debe instalar un servidor web
  • Todo el trabajo lo realiza el servidor proxy y el cliente. Por tanto, puede resultar menos eficaz a medida que aumenta el número de aplicaciones
  • La legibilidad de las instrucciones del código puede verse afectada por la combinación de HTML y PHP
  • La programación orientada a objetos todavía es muy pobre para aplicaciones grandes

La seguridad

El porcentaje de software inseguro escrito en PHP, del total de todos los agujeros de seguridad en el software enumerados por las Vulnerabilidades y Exposiciones Comunes, ascendió a: 12% en 2003, 20% en 2004, 28% en 2005, 43% en 2006, 36% en 2007, 34,8% en 2008, 29,9% en 2009 y 27,2% en 2010 [13].

Casi todas estas vulnerabilidades conocidas se originan por el incumplimiento de las mejores prácticas por parte de los programadores y por los abusos relacionados de características particulares ofrecidas por las versiones PHP que en ciertos usos dan lugar a vulnerabilidades graves.

Un ejemplo bien conocido son los problemas relacionados con el abuso de Register globales y comillas Magic, características que si se usan incorrectamente podrían degenerar en verdaderas puertas traseras dentro de su programa PHP. Para evitar problemas de este tipo, muchas de estas características han sido gradualmente obsoletas o incluso eliminadas, como las dos mencionadas, en los antecedentes de versiones de PHP al inicio de este post.

La mayor parte del software con problemas de seguridad (2006) se puede asociar temporalmente con versiones de PHP antiguas, donde las configuraciones predeterminadas dejaban espacio para una relativa simplicidad en la escritura de software con problemas de seguridad potencialmente graves.

Siempre es una buena idea revisar su configuración de PHP, generalmente contenida en el archivo php.ini, para verificar qué funciones están habilitadas. Por lo general, se documentan 3 tipos de configuraciones en el propio archivo, configuración PHP predeterminada, configuración en un entorno de desarrollo que permite, por ejemplo, ver errores en la pantalla y configuración en un entorno de producción en el que los errores generalmente se escriben en un archivo de registro.

El sitio web oficial contiene el archivo histórico de las versiones PHP descatalogadas, actualizado en mayo de 2019, para que usted pueda revisar su propia configuración.




Si le ha gustado esta lectura, también le podemos recomendar

página en construcción

Ventajas y desventajas de un servidor

contador de visitas de WordPress

Deja un comentario