Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/Introducción
LENGUAJE PHP: EL LENGUAJE EN GENERAL
PHP Un lenguaje de script al lado del servidor
Contenido
Introducción a PHP
Qué es php
- PHP (acrónimo de PHP: Hypertext Preprocessor)
De php podríamos decir
- Es un lenguaje de código abierto
- Muy popular (Podríamos pensar en un estándar?), una gran comunidad de soporte en internet que aporta, colabora y soluciona dudas
- Especialmente adecuado para desarrollo web (Se puede usar como lenguaje de escritorio, pero no es su principal propósito).
- La versión actualizada (Noviembre 2024) es la 8.3. Es considerada versión estable
- Versión de php
- En el repositorio de ubuntu está especificada igualmente la versión 8.2,y se recomienda usarla como versión para desarrollo
- Ver las nuevas características de php
- Programación en el servidor
|
- Obtención del lenguaje de marcas para mostrar en el cliente
- El servidor en acción
- El servidor en acción
|
Restricciones del servidor con php
- Como PHP se ejecuta del lado del servidor sólo puede tener acceso a los datos del propio servidor.
- No puede acceder a los recursos del cliente
- No puede saber qué hora es en el cliente
- No puede acceder a los archivos del cliente
- Salvo la excepción de las Cookies
Configuraciones
- PHP se puede instalar de dos formas
- Un servicio independiente utilizando PHP-FPM (FastCGI Process Manager)
- Un módulo de Apache, usando php8.3-mod (noviembre del 2024).
- Configuraciones
- Ejecutar PHP como un servicio independiente con PHP-FPM suele ser más eficiente en términos de gestión de memoria, lo que lo convierte en una elección preferida para entornos de producción. Esta decisión está más relacionada con la administración de servidores que con el desarrollo en sí.
- Configuración
- Por comodidad, vamos a instalar PHP como un módulo de Apache2, ya que esto permite tener todo centrado en el servicio de Apache.
- Sin embargo, en entornos de producción, es común instalarlo como un servicio independiente (PHP-FPM).
- En este caso, cuando se hacen cambios en los archivos de configuración, es necesario reiniciar tanto el servicio de Apache o Nginx (según el servidor utilizado) como el servicio de PHP de manera independiente.
- Configuraciones
- En cualquier caso, al instalar PHP, ya sea como un módulo de Apache o como un servicio independiente, se genera un archivo de configuración , donde encontramos diversas directivas que podemos modificar.
- Un ejemplo de esto es la configuración de xdebug que se ajusta en el archivo php.ini.
- Directivas de PHP.ini
http://www.php.net/manual/es/ini.list.php
Versiones de PHP
- Vamos a ver un poco de historia y evolución
- Funciones que quedaron obsoletas en PHP 5.3.x
http://php.net/manual/es/migration53.deprecated.php
(: Las siguientes funciones quedaron obsoletas en PHP 5.3.x (versión lanzada en 2009). Aunque esta versión ya no recibe soporte oficial, esta información puede resultar interesante para entender la evolución del lenguaje.)
- Características obsoletas en PHP 7.0.x
http://php.net/manual/es/migration70.deprecated.php http://php.net/manual/es/migration70.incompatible.php
- Nuevas funcionalidades en PHP 7.4
- Principales mejoras. Las nuevas características introducidas en PHP 7.4 incluyen
- la asignación de valores mediante arrow functions,
- typed properties (propiedades tipadas),
- spread operator en arrays, entre otras.
- Nuevas funcionalidades en PHP 8.0
Principales mejoras: PHP 8.0 trajo grandes cambios, como el compilador Just-in-time (JIT), union types (tipos de unión), y la característica de named arguments (argumentos nombrados), permitiendo más flexibilidad en la llamada a funciones.
http://php.net/manual/es/migration80.new-features.php
- Nuevas funcionalidades en PHP 8.1
Principales mejoras: PHP 8.1 agregó nuevas funcionalidades como fibers (para mejorar la concurrencia), readonly properties (propiedades de solo lectura) y array unpacking con claves.
http://php.net/manual/es/migration81.new-features.php
- Nuevas funcionalidades en PHP 8.2
Principales mejoras: PHP 8.2 introdujo mejoras como la eliminación de la dynamic properties, la nueva clase readonly classes, y la compatibilidad con disjunctive normal form types.
http://php.net/manual/es/migration82.new-features.php
- Nuevas funcionalidades en PHP 8.3
Principales mejoras: PHP 8.3 incluye mejoras como las funciones json_validate(), los fetch properties of enum cases, y optimizaciones adicionales en el rendimiento.
https://php.watch/versions/8.3 https://www.php.net/releases/8_3_0.php
Resumen de nuevas funcionalidades
- PHP 7.4
- Arrow functions (funciones flecha): para simplificar las funciones anónimas.
- Typed properties (propiedades tipadas): agregando tipos a propiedades de clases.
- Spread operator en arrays: para combinar arrays de manera más fácil.
- PHP 8.0
- JIT (Just-in-time compiler): mejora significativa de rendimiento.
- Union types: permite a las funciones aceptar múltiples tipos de datos.
- Named arguments: los parámetros pueden pasarse por nombre.
- PHP 8.1
- Fibers: permite concurrencia sin threads.
- Readonly properties: propiedades de clase que solo pueden establecerse una vez.
- Array unpacking con claves: expansión de arrays con claves asociativas.
- PHP 8.2
- Dynamic properties deprecated: las propiedades dinámicas son ahora obsoletas.
- Readonly classes: clases completamente de solo lectura.
- Disjunctive normal form types: más flexibilidad en tipos de unión.
- PHP 8.3
- json_validate(): para validar datos JSON.
- Fetch properties of enum cases: permite acceder a propiedades de las enumeraciones.
- Mejoras en rendimiento y optimización.
Cómo escribir PHP
- Dentro de páginas html
<?php instrucciones ?>
- Nosotros siempre usaremos este estilo para escribir código
- Otros estilos anteriormente permitido están en desuso o no permitidos
|
- Guardamos el fichero con extensión .php
- Así sabemos que el interprete php tiene que ejecutar código
Primer programa |
---|
<html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?php phpinfo(); ?> </body> </html> |
Introducción a PHP
Qué es PHP
- PHP (acrónimo de PHP: Hypertext Preprocessor)
- PHP es un lenguaje de código abierto, muy popular y con una gran comunidad de soporte en internet que aporta, colabora y resuelve dudas.
- Especialmente adecuado para el desarrollo web (aunque se puede usar en el escritorio, no es su principal propósito).
- Actualmente, la versión estable es la 8.3, pero en el repositorio de Ubuntu está la versión 8.2 recomendada para desarrollo.
- Para más información sobre las nuevas características de PHP:
- Características de PHP
|
- Obtención del lenguaje de marcas para mostrar en el cliente
- El servidor en acción
- El servidor en acción
|
Restricciones del servidor con PHP
- PHP, al ejecutarse del lado del servidor, solo puede acceder a los datos del propio servidor:
- No puede acceder a los recursos del cliente.
- No puede saber la hora en el cliente.
- No puede acceder a los archivos del cliente (excepto mediante Cookies).
Configuraciones
- PHP se puede instalar de dos formas
- Como un servicio independiente utilizando PHP-FPM (FastCGI Process Manager).
- Como un módulo de Apache, usando php8.3-mod (octubre de 2024).
- Ejecutar PHP como un servicio independiente con PHP-FPM suele ser más eficiente en términos de gestión de memoria, lo cual es preferido en entornos de producción. Esta decisión está más relacionada con la administración de servidores.
- Configuración
- Por comodidad, vamos a instalar PHP como un módulo de Apache2 para centralizar el servicio en Apache.
- En entornos de producción, es común instalarlo como servicio independiente (PHP-FPM).
- Si modificamos los archivos de configuración, es necesario reiniciar Apache o Nginx, además del servicio PHP, para aplicar los cambios.
- Al instalar PHP como módulo o servicio independiente, se genera un archivo de configuración php.ini, donde encontramos directivas que podemos modificar, como la configuración de xdebug.
- Directivas de PHP.ini
Versiones de PHP
- Historia y evolución del lenguaje:
- Funciones obsoletas en PHP 5.3.x
Ver lista de funciones obsoletas
(: Las siguientes funciones quedaron obsoletas en PHP 5.3.x (versión de 2009). Aunque ya no recibe soporte, esta información es útil para entender la evolución de PHP.)
- Características obsoletas en PHP 7.0.x
Características obsoletas en PHP 7.0 Cambios incompatibles
- Nuevas funcionalidades en PHP 7.4
- Nuevas funcionalidades en PHP 8.0
- PHP 8.0 introdujo el compilador Just-in-time (JIT), union types y named arguments.
- Nuevas funcionalidades en PHP 8.1
- Incluye fibers, readonly properties y array unpacking con claves.
- Nuevas funcionalidades en PHP 8.2
- PHP 8.2 añade readonly classes y disjunctive normal form types.
- Nuevas funcionalidades en PHP 8.3
- PHP 8.3 introduce json_validate(), acceso a fetch properties of enum cases y mejoras en rendimiento.
Resumen de nuevas funcionalidades
- PHP 7.4
- Arrow functions: simplifica funciones anónimas.
- Typed properties: añade tipos a propiedades de clase.
- Spread operator en arrays: facilita la combinación de arrays.
- PHP 8.0
- JIT: mejora de rendimiento.
- Union types: permite múltiples tipos de datos.
- Named arguments: paso de parámetros por nombre.
- PHP 8.1
- Fibers: concurrencia sin hilos.
- Readonly properties: propiedades inmutables.
- Array unpacking con claves: expansión de arrays con claves asociativas.
- PHP 8.2
- Dynamic properties deprecated: propiedades dinámicas obsoletas.
- Readonly classes: clases inmutables.
- Disjunctive normal form types: más flexibilidad en tipos de unión.
- PHP 8.3
- json_validate(): validación JSON.
- Fetch properties of enum cases y optimizaciones adicionales.
Cómo escribir PHP
- Dentro de páginas HTML:
<?php // Instrucciones de PHP aquí ?>
- Utilizaremos este estilo para escribir código.
- Estilos obsoletos eliminados en PHP 7.0.0:
|
- Guardamos el archivo con extensión .php para que el servidor interprete el código.
|
</div>