Diferencia entre revisiones de «Plantilla:PHP/Introduccion»

De WikiEducator
Saltar a: navegación, buscar
(Qué es php)
 
(46 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 +
<div class="slide">
 
==Introducción a PHP==
 
==Introducción a PHP==
 
<br />
 
<br />
Línea 4: Línea 5:
 
*En esta sección veremos qué es el lenguaje php y para qué sirve
 
*En esta sección veremos qué es el lenguaje php y para qué sirve
 
}}
 
}}
===Qué es php===
+
</div>
 +
 
 
<div class="slide">
 
<div class="slide">
 +
===Qué es php===
 
*'''''PHP''''' (acrónimo de PHP: Hypertext Preprocessor)
 
*'''''PHP''''' (acrónimo de PHP: Hypertext Preprocessor)
 
De php podríamos decir
 
De php podríamos decir
 
*Es un lenguaje de código abierto
 
*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
 
*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 propósito).
+
*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.2 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
 +
{{MRM_Recursos de la Web|Title=Caracterísitcas de php 8.2|
 +
https://www.php.net/releases/8.2/en.php
 +
}}
 
</div>
 
</div>
;Qué es php
 
  
 
<div class="slide">
 
<div class="slide">
{{Tip|
+
;características de php
 +
{{MRM_Resumen|Title=Recuerda|
 
*'''''En las aplicaciones de desarrollo web '''''
 
*'''''En las aplicaciones de desarrollo web '''''
 
#Se ejecuta en el '''''servidor web'''''
 
#Se ejecuta en el '''''servidor web'''''
#Es '''''incrustrado'''''  en HTML.  
+
#Es '''''incrustado'''''  en HTML.  
 
#El cliente solo ve '''''el resultado de la ejecución nunca el código'''''
 
#El cliente solo ve '''''el resultado de la ejecución nunca el código'''''
 
}}
 
}}
Línea 30: Línea 39:
 
}}
 
}}
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 
;El servidor en acción
 
;El servidor en acción
Línea 38: Línea 48:
 
}}
 
}}
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 
;El servidor en acción
 
;El servidor en acción
Línea 43: Línea 54:
 
; El intérprete PHP ignora el texto del fichero HTML
 
; El intérprete PHP ignora el texto del fichero HTML
 
; Hasta que encuentra una etiqueta de inicio del bloque de código PHP embebido.
 
; 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 clinete (en caso de que las instrucciones lo generen)
+
*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)
 
}}
 
}}
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 +
 
===Restricciones del servidor con php===
 
===Restricciones del servidor con php===
 
*Como PHP se ejecuta del lado del servidor sólo puede tener acceso a los datos del propio servidor.
 
*Como PHP se ejecuta del lado del servidor sólo puede tener acceso a los datos del propio servidor.
Línea 62: Línea 75:
 
<div class="slide">
 
<div class="slide">
 
;Configuración
 
;Configuración
Por comodidad (todo centrado en el servico de apache2) en este módulo lo hemos instalado  como un módulo de apache, pero en producción se suele instalar como servicio independiente (en este caso se ha de rebotar el servicio de apache o ngix (según servidor) independientemente del servicio de php según los ficheros de configuración que se modifiquen en un momento dado.
+
Por comodidad (todo centrado en el servicio de apache2) en este módulo lo hemos instalado  como un módulo de apache, pero en producción se suele instalar como servicio independiente (en este caso se ha de rebotar el servicio de apache o ngix (según servidor) independientemente del servicio de php según los ficheros de configuración que se modifiquen en un momento dado.
 
En cualquier caso, al instalar php, bien como módulo de apache o como servicio independiente, se crea un fichero de cofiguración dónde tenemos las diferentes directivas que podremos modificar (recordad xdebug que modificamos en php.ini).
 
En cualquier caso, al instalar php, bien como módulo de apache o como servicio independiente, se crea un fichero de cofiguración dónde tenemos las diferentes directivas que podremos modificar (recordad xdebug que modificamos en php.ini).
 
</div>
 
</div>
 +
 +
<div class="slide">
 
;Directivas de PHP.ini
 
;Directivas de PHP.ini
 
  http://www.php.net/manual/es/ini.list.php
 
  http://www.php.net/manual/es/ini.list.php
Línea 73: Línea 88:
 
  http://php.net/manual/es/migration70.incompatible.php
 
  http://php.net/manual/es/migration70.incompatible.php
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 
===Cómo escribir PHP===
 
===Cómo escribir PHP===
 
*Dentro de páginas html
 
*Dentro de páginas html
  '''<?php'''
+
<source lang=php>
  '' instrucciones''
+
  <?php
  '''?>'''
+
    instrucciones
 +
  ?>
 +
</source>
 
*Nosotros siempre usaremos este estilo para escribir código
 
*Nosotros siempre usaremos este estilo para escribir código
*Lo podemos embeber en código html .... o no.
+
*Otros estilos anteriormente permitido están en desuso o no permitidos
</div>
+
{{MRM_Resumen|Title=Estilo actualmente descatalogados|
 +
*En la versión 7.0.0 de php se eliminan(Desaconsejan) las etiquetas siguientes:
 +
#'''''<nowiki><%, %> (formato ASP)</nowiki>'''''
 +
#'''''<nowiki>#<%=  (formato corto)</nowiki>'''''
 +
#'''''<nowiki>y la etiqueta de script <script language=""</nowiki>'''''></script>
 +
}}
  
<div class="slide">
+
*Guardamos el fichero con extensión .php
;Otros modos menos usados
+
**Así sabemos que el interprete php tiene que ejecutar código
:Estilo asp
+
'''<%'''
+
  '' instrucciones''
+
'''%>'''
+
*Para ello hemos de tener habilitado la etiqueta de php.ini
+
asp_tags 1
+
 
</div>
 
</div>
  
 
<div class="slide">
 
<div class="slide">
;Estilo corto
 
'''<?'''
 
  '' instrucciones''
 
'''?>'''
 
*Para ello hemos de tener habilitado la etiqueta de php.ini
 
short_open_tag 1
 
</div>
 
 
<div class="slide">
 
;Sintaxis para editores HTML
 
'''<SCRIPT LANGAGE="PHP">'''
 
  '' instrucciones''
 
'''</SCRIPT>'''
 
*Guardamos el fichero con extensión .php
 
**Así sabemos que el interprete php tiene que ejecutar código
 
</div>
 
 
{{MRM_Actividad|Title=Probando primer programa|
 
{{MRM_Actividad|Title=Probando primer programa|
{{Tip|existen una función llamada '''''phpinfo()''''' que vamos a probar la información que genera}}
+
{{MRM_Resumen|Title=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()'''''
 
*Haz un programa que en php que ejecute la función '''''phpinfo()'''''
}}
+
{{Plegable|hide|Primer programa|
<div class="slide">
+
===Dónde poner el código embebido===
+
<br/>
+
{{MRM_Pregunta|Dónde escribir código php|{{feedback|Dónde queramos que se ejecute algo}}}
+
 
+
</div>
+
<div class="slide">
+
<hr  />
+
*Donde queramos que se ejecute algo
+
<hr/>
+
[[Imagen:codigoPHP.png|center|900px]]
+
*Se ejecuta como si fuera un solo programa
+
</div>
+
 
+
<div class="slide">
+
 
+
===Cómo escribir PHP 2===
+
*Escribiéndolo en un fichero aparte
+
**incluimos el fichero explícitamente
+
 
<source lang=php>
 
<source lang=php>
  include('ruta/nobrefichero');
 
  require('ruta/nobrefichero');
 
  include_once('ruta/nombrefichero');
 
  require_once('ruta/nombrefichero');
 
</source>
 
;Ambas son palabras reservadas del lenguaje y sirven para incluir el contenido de un fichero con sentencias php en esa posición del código
 
{{MRM_Puntos clave|Title=Include Vs Require|
 
*Ambas incluyen el contenido de un fichero php en esa posición
 
**Con include si no se encuentra se continúa ejecutando en esa posición
 
**Con require si no está el fichero se detiene en ese punto la ejecución del script}}
 
{{MRM_Puntos clave|Title=include/require Vs include_once/require_once |
 
*Ambas incluyen el contenido de un fichero php en esa posición
 
**include/require siempre buscan e incluyen el fichero en esa posición
 
**include_once/require_once antes de incluirlo mira a ver si ya lo incluyó previamente en cuyo caso ya no lo hace}}
 
{{MRM_Actividad|Title=Probando include(_once)/require(_once)
 
|Crea 4 ficheros con el siguiente código
 
;fichero_include.php
 
<source lang=php>
 
<?php
 
  echo "<b><i>Hola desde un fichero include </b></i><hr />";
 
?>
 
</source>
 
;fichero_include_once.php
 
<source lang=php>
 
<?php
 
echo "<b><i>Hola desde un fichero include once </b></i><hr />";
 
?>
 
</source>
 
;fichero_require.php
 
<source lang=php>
 
<?php
 
  echo "<b><i>Hola desde un fichero require </b></i><hr />";
 
?>
 
</source>
 
;fichero_require_once.php
 
<source lang=php>
 
<?php
 
  echo "<b><i>Hola desde un fichero require once </b></i><hr />";
 
?>
 
</source>
 
;Ahora crea un programa principal dónde uses las instrucciones de inclusión vistas en este apartado.
 
<source lang=php>
 
<?php
 
 
echo "<h2>Ahora vamos a incluir un fichero con include</h2>";
 
include 'ficheros/fichero_include.php';
 
 
echo "<h2>ahora vamos a incluir un fichero con require</h2>";
 
require 'ficheros/fichero_require.php';
 
 
echo "<h2>Ahora vamos a incluir un fichero con include_once</h2>";
 
include_once 'ficheros/fichero_include_once.php';
 
 
echo "<h2>Ahora vamos a incluir un fichero con require_once</h2>";
 
require_once 'ficheros/fichero_require_once.php';
 
 
echo "<h2>Ahora vamos a incluir un fichero que no existe  con include</h2>";
 
include 'ficheros/fichero_no_existe_include.php';
 
echo "Vemos que no pasa nada, por que el fichero no existe pero sigue <hr />";
 
 
 
 
echo "<h2>Ahora volvemos  a incluir un fichero con include_once</h2>";
 
include_once 'ficheros/fichero_include_once.php';
 
echo "Vemos que no pasa nada, por que el fichero ya se había incluido y no se vuelve a incluir<hr />";
 
 
echo "<h2>Ahora volvemos  a incluir un fichero con require_once</h2>";
 
require_once 'ficheros/fichero_require_once.php';
 
echo "Vemos que no pasa nada, por que el fichero ya se había incluido y no se vuelve a incluir<hr />";
 
 
echo "<h2>Ahora vamos a incluir un fichero con include para ver que sí que se vuelve a incluir</h2>";
 
include 'ficheros/fichero_include.php';
 
 
echo "<h2>Ahora vamos a incluir un fichero con require y vemos que sí se vuelve a incluir</h2>";
 
require 'ficheros/fichero_require.php';
 
  
echo "<h2>Ahora no incluimos con require un fichero que no existe</h2>";
+
<html>
require 'ficheros/fichero_no_existe_require.php';
+
    <head>
echo "Esta línea ya no se imprimirá ni nada que vaya después de aquí";
+
        <meta charset="UTF-8">
?>
+
        <title></title>
 +
    </head>
 +
    <body>
 +
        <?php
 +
            phpinfo();
 +
        ?>
 +
    </body>
 +
</html>
 
</source>
 
</source>
{{Tip|
 
*Siénte comoda en modificar el fichero y ver el resultado
 
*Observa que estás instruccines no son exactamente funciones, por lo que no necesitans paréntesis (anque se puede poner)
 
<source lang=php>
 
include 'ficheros/fichero_include.php'
 
//Es léxicamente y sintácticamente igual que
 
include ('ficheros/fichero_include.php');
 
 
</source>
 
 
 
}}
 
}}
 
+
}}
 
+
 
+
 
</div>
 
</div>
 
<div class="slide">
 
<div class="slide">
{{MRM_Recursos de la Web|
 
*[http://php.net/manual/es/ php] página oficial en español LO MEJOR!!!!
 
*http://php.net/manual/es/
 
*<!-- MRM incluir en el otro documento http://php.net/manual/es/ini.core.php -->
 
  
 +
{{MRM_Actividad|Title=Probando la extensión|
 +
;Verifica a ver qué ocurre si la extensión del fichero no es php
 
}}
 
}}
</div>
 
<div class=slide>
 
===Comentarios ===
 
Son ignorados por el intérprete
 
<source lang=php>
 
<?php
 
/*
 
Este código no hace nada pero muestra
 
la sintaxis de los comentarios
 
como este que ocupa varias líneas tipo lenguaje C o Java
 
*/
 
$miVariable= 8;// Esta parte de la línea se ignorará
 
$miVariable+= 8;# y esta parte de línea tambien
 
echo "Valor de la variable $miVariable";
 
//Este es otro comentario de una sola línea
 
#Este es otro modo de hacer comentarios tipo script de linux
 
  ?>
 
</source>
 
*Este código nos visualizará
 
Valor de la variable 16
 
</div>
 
 
<div class="slide">
 
 
</source>
 
 
</div>
 
</div>

Última revisión de 12:04 1 oct 2023

Introducción a PHP



Icon objectives.jpg
Sección de introducción a PHP
  • En esta sección veremos qué es el lenguaje php y para qué sirve

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.2 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.2

https://www.php.net/releases/8.2/en.php


características de php


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 como un servicio independiente (PHP-FPM (FastCGI Process Manager)) o como un módulo de apache php5-mod. Realmente es más eficaz por temas de memoria que corra como un servicio independiente, siendo éste, un tema más de administración que de desarrollo.
Configuración

Por comodidad (todo centrado en el servicio de apache2) en este módulo lo hemos instalado como un módulo de apache, pero en producción se suele instalar como servicio independiente (en este caso se ha de rebotar el servicio de apache o ngix (según servidor) independientemente del servicio de php según los ficheros de configuración que se modifiquen en un momento dado. En cualquier caso, al instalar php, bien como módulo de apache o como servicio independiente, se crea un fichero de cofiguración dónde tenemos las diferentes directivas que podremos modificar (recordad xdebug que modificamos en php.ini).

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