Diferencia entre revisiones de «Plantilla:PHP/Introduccion»

De WikiEducator
Saltar a: navegación, buscar
(Introducción a PHP)
Línea 4: Línea 4:
 
<div class="slide">
 
<div class="slide">
 
==Introducción a PHP==
 
==Introducción a PHP==
 +
</div>
  
 
<div class="slide">
 
<div class="slide">
Línea 94: Línea 95:
 
  http://php.net/manual/es/migration53.deprecated.php
 
  http://php.net/manual/es/migration53.deprecated.php
 
{{Nota|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.}}
 
{{Nota|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.}}
 
+
</div>
 +
<div class="slide">
 
;Características obsoletas en PHP 7.0.x
 
;Características obsoletas en PHP 7.0.x
 
  http://php.net/manual/es/migration70.deprecated.php
 
  http://php.net/manual/es/migration70.deprecated.php
Línea 101: Línea 103:
 
  http://www.php.net/manual/es/ini.list.php
 
  http://www.php.net/manual/es/ini.list.php
 
   
 
   
 
+
</div>
 +
<div class="slide">
 
;Nuevas funcionalidades en PHP 7.4
 
;Nuevas funcionalidades en PHP 7.4
  
Línea 111: Línea 114:
 
http://php.net/manual/es/migration74.new-features.php
 
http://php.net/manual/es/migration74.new-features.php
 
}}
 
}}
 +
</div>
 +
<div class="slide">
 
   
 
   
 
;Nuevas funcionalidades en PHP 8.0
 
;Nuevas funcionalidades en PHP 8.0
Línea 119: Línea 124:
 
''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''.
 
''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
 
  http://php.net/manual/es/migration81.new-features.php
 +
</div>
 +
<div class="slide">
  
 
;Nuevas funcionalidades en PHP 8.2
 
;Nuevas funcionalidades en PHP 8.2
Línea 138: Línea 145:
 
* Typed properties (propiedades tipadas): agregando tipos a propiedades de clases.
 
* Typed properties (propiedades tipadas): agregando tipos a propiedades de clases.
 
* Spread operator en arrays: para combinar arrays de manera más fácil.
 
* Spread operator en arrays: para combinar arrays de manera más fácil.
 +
</div>
 +
<div class="slide">
  
 
;PHP 8.0
 
;PHP 8.0
Línea 143: Línea 152:
 
* Union types: permite a las funciones aceptar múltiples tipos de datos.
 
* Union types: permite a las funciones aceptar múltiples tipos de datos.
 
* Named arguments: los parámetros pueden pasarse por nombre.
 
* Named arguments: los parámetros pueden pasarse por nombre.
 +
</div>
 +
<div class="slide">
  
 
;PHP 8.1
 
;PHP 8.1
Línea 148: Línea 159:
 
* Readonly properties: propiedades de clase que solo pueden establecerse una vez.
 
* Readonly properties: propiedades de clase que solo pueden establecerse una vez.
 
* Array unpacking con claves: expansión de arrays con claves asociativas.
 
* Array unpacking con claves: expansión de arrays con claves asociativas.
 +
</div>
 +
<div class="slide">
  
 
;PHP 8.2
 
;PHP 8.2
Línea 153: Línea 166:
 
* Readonly classes: clases completamente de solo lectura.
 
* Readonly classes: clases completamente de solo lectura.
 
* Disjunctive normal form types: más flexibilidad en tipos de unión.
 
* Disjunctive normal form types: más flexibilidad en tipos de unión.
 +
</div>
 +
<div class="slide">
  
 
;PHP 8.3
 
;PHP 8.3
Línea 158: Línea 173:
 
* Fetch properties of enum cases: permite acceder a propiedades de las enumeraciones.
 
* Fetch properties of enum cases: permite acceder a propiedades de las enumeraciones.
 
* Mejoras en rendimiento y optimización.
 
* Mejoras en rendimiento y optimización.
 +
</div>
 +
<div class="slide">
  
  
</div>
 
  
 
===Cómo escribir PHP===  
 
===Cómo escribir PHP===  
Línea 170: Línea 186:
 
?>  
 
?>  
 
</source>
 
</source>
 +
</div>
 +
<div class="slide">
  
 
*Nosotros siempre usaremos este estilo para escribir código.
 
*Nosotros siempre usaremos este estilo para escribir código.
Línea 180: Línea 198:
 
*Guardamos el fichero con la extensión .php:
 
*Guardamos el fichero con la extensión .php:
 
**Así el servidor sabe que debe interpretar el código PHP.
 
**Así el servidor sabe que debe interpretar el código PHP.
 +
</div>
 +
<div class="slide">
  
 
===Cómo escribir PHP===
 
===Cómo escribir PHP===
Línea 190: Línea 210:
 
*Nosotros siempre usaremos este estilo para escribir código
 
*Nosotros siempre usaremos este estilo para escribir código
 
*Otros estilos anteriormente permitido están en desuso o no permitidos
 
*Otros estilos anteriormente permitido están en desuso o no permitidos
 +
</div>
 +
<div class="slide">
 +
 
{{MRM_Resumen|Title=Estilo actualmente descatalogados|
 
{{MRM_Resumen|Title=Estilo actualmente descatalogados|
 
*En la versión 7.0.0 de php se eliminan(Desaconsejan) las etiquetas siguientes:
 
*En la versión 7.0.0 de php se eliminan(Desaconsejan) las etiquetas siguientes:
Línea 196: Línea 219:
 
#'''''<nowiki>y la etiqueta de script <script language=""</nowiki>'''''></script>
 
#'''''<nowiki>y la etiqueta de script <script language=""</nowiki>'''''></script>
 
}}
 
}}
 +
</div>
 +
<div class="slide">
  
 
*Guardamos el fichero con extensión .php
 
*Guardamos el fichero con extensión .php
Línea 229: Línea 254:
 
;Verifica a ver qué ocurre si la extensión del fichero no es php
 
;Verifica a ver qué ocurre si la extensión del fichero no es php
 
}}
 
}}
</div>
 
 
</div>
 
</div>

Revisión de 23:12 2 nov 2024


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).
  • Actualmente está la versión 8.3 actualizada es considerada la versión estable
  • 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


Icon inter.gif
Caracterísitcas de php 8.3

https://www.php.net/releases/8.3/es.php


Programación en el servidor


Icon summary.gif
Recuerda
  • En las aplicaciones de desarrollo web
  1. Se ejecuta en el servidor web
  2. Es incrustado en HTML.
  3. El cliente solo ve el resultado de la ejecución nunca el código


Obtención del lenguaje de marcas para mostrar en el cliente

ProcesoPHP.png


Icon key points.gif

Puntos clave

El documento PHP, una vez interpretado correctamente en el servidor, produce una página HTML que será enviada al cliente.


El servidor en acción



Icon key points.gif

Puntos clave

El código PHP está embebido en documentos HTML,
Esto permite introducir dinamismo fácilmente a un sitio web.


El servidor en acción


Icon key points.gif

Puntos clave

El intérprete PHP ignora el texto del fichero HTML
Hasta que encuentra una etiqueta de inicio del bloque de código PHP embebido.
  • Entonces interpreta las instrucciones hasta el final de etiqueta generando la salida correspondiente que se añade al documento html que se entrega al cliente (en caso de que las instrucciones lo generen)


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 (octubre del 2024).
  • 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.
  • 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 ajustamos en el archivo php.ini.

</div>

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

(Comment.gif: 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.)


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 de PHP aquí 
?>
  • Nosotros siempre usaremos este estilo para escribir código.
  • Otros estilos anteriormente permitidos están en desuso o ya no son válidos.


Icon summary.gif
Estilos actualmente descatalogados
  • En la versión 7.0.0 de PHP se eliminaron (o desaconsejaron) las siguientes etiquetas:
  1. <%, %> (estilo ASP)
  2. <%= (forma abreviada de echo)
  3. <script language=""> (uso de la etiqueta <script>)


  • Guardamos el fichero con la extensión .php:
    • Así el servidor sabe que debe interpretar el código PHP.

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


Icon summary.gif
Estilo actualmente descatalogados
  • En la versión 7.0.0 de php se eliminan(Desaconsejan) las etiquetas siguientes:
  1. <%, %> (formato ASP)
  2. #<%= (formato corto)
  3. y la etiqueta de script <script language=""></script>


  • Guardamos el fichero con extensión .php
    • Así sabemos que el interprete php tiene que ejecutar código


Icon activity.jpg
Probando primer programa


Icon summary.gif
Información
existen una función llamada phpinfo().
  • Vamos a probarla y ver la información que genera


  • Haz un programa que en php que ejecute la función phpinfo()





Icon activity.jpg
Probando la extensión
Verifica a ver qué ocurre si la extensión del fichero no es php