Implantación de aplicaciones web: PHP

De WikiEducator
Saltar a: navegación, buscar


Introduccion

  1. PHP (acrónimo de PHP: Hypertext Preprocessor)
    1. es un lenguaje de código abierto
    2. muy popular (Podríamos pensar en un estándar?)
    3. especialmente adecuado para desarrollo web
    4. en desarrollos web
      1. Se ejecuta en el servidor web
      2. Es incrustrado en HTML.
      3. El cliente solo ve el resultado de la ejecución nunca el código

Como escribir PHP 1

Dentro de páginas html

<?php
   instrucciones
?>
Otros modos menos usados
Estilo asp
<%
   instrucciones
%>
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ç

Como escribir PHP 2

escribiendolo en un fichero aparte incluimos el fichero explícitamente

include('ruta/nobrefichero');
require('ruta/nobrefichero');
include_one('ruta/nobrefichero');
require_one('ruta/nobrefichero');


Variables

no hay que definir tipo El tipo dependerá del valor asignado

  • tipos básicos
    • entero
    • cadena
    • real o coma flotante
    • Booleano
    • NULL un tipo especial que solo tiene ese valor
  • tipos complejos
    • objetos
    • matrices
    • recursos

identificador


Icon key points.gif

Puntos clave

$(a..zA..Z_)(ascii-127..255)*


<?php
  $miVariable= 8;/*Variable de tipo entero*/
  edad = 5/*Error en el identificador*/
  $5edad = 5 /*Error en el identificador */
?>
  • El lenguaje es sensible a mayúsculas y minúsculas
    • En los identificadores de variables
    • No lo es en nombres de funciones
    • No lo es en palabras reservadas (if, then, else,...)

Comentarios

Son ignorados por el intérprete

<?php
/*
Este código no hace nada pero muestra
la sintaxis de los comentarios
como este que ocupa varias líneas
*/
$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 código nos visualizará

Valor de la variable 16

Valor de variable

  • Una variable le asigno un valor en cualquier momento
  • El tipo de la variable depende del valor que tiene
  • función isset comprueba que una variable tenga valor
<?php
/*
$VariableValor= 5;
print ("El valor de la variable es $VariableValor");
print ("El valor de otra variable es $OtraVariableValor");
if (isset($VariableValor))
    print ("VariableValor tiene valor asignado");
else
    print ("VariableValor no no tiene valor asignado");
if (isset($OtraVariableValor))
    print ("OtraVariableValor tiene valor asignado");
else
    print ("OtraVariableValor no no tiene valor asignado");
 ?>

Variables entera

  • Posible notación decimal/octal/hexadecimal
  • Decimal
    • $Numero=10;
  • Octal
    • $NumeroOctal=067;
  • Hexadecimal
    • $NumeroHex=0cA56B;
  • Al imprimirlos con print los veré con valor decimal
  • Para verlos en otras base hay que usar printf o format


Variables reales

Variables booleanas

  • Interpretar otros tipos como booleanos

NULL

Cadenas

  • Comillas dobles ""
  • Comillas sencillas ''

Funciones de salida

Construcciones básicas para salida de caracrteres No son funciones (con o sin paréntesis)

echo

Es el uso más sencillo Imprime una cadena como argumentos En la versión si paréntesis también puedes pasar una lista de argumentos.

<?php
Echo “primer argumento”, “segundo argumento”, “tercer argumeto”
 ?>

print

Tiene dos diferencias con echo

  1. Sólo puede aceptar un argumento
  2. Devuelve un valor que representa si la sentencia ha tenido o no éxito

Estructuras de control 1

A continuación veremos las estructuras de control Son de tres tipos

  1. Selección
  2. Iteración
  3. Secuenciales

Para construirlas necesitamos operadores

  1. Operadores lógicos

Operadores lógicos

and 
or
!
xor
&&
||

Funcionan por cortocircuito Construyen expresiones booleanas y tras su evaluación retorna un valor booleano.

Operadores lógicos

Operadores lógicos

==
¡=
<
>
<=
>=
===

Operadores ternario

Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion


Selección if

If ( condicion)
    Sentencia 1;
if  (condicion){
    Sentencia 1
    Sentencia 2
}

if (condicion)

    Sentencia 1

else

     Sentencia 2

if condicion:

  Sentencia 1;
endif;

Seleccion else elseif

Seleccion switch

iteracion while

iteracion do-while

iteracion for

for (expression_inicial; comprobacion_terminacion;exrpesion_incremento){
      sentencias;
}

Escribir un programa que visualice una tabla con las divisiones de los números que confluyen

Leer datos

  • Para leer datos lo hacemos de un formulario
  • el formulario lo envía el cliente
  • Obligatoriamente necesitamos el atributo name de la etiqueta input
  • EJ. en el emisor tenemos
Dime un número:
<FORM ACTION="tabla.php" METHOD="GET">
<INPUT TYPE="text" NAME="numero">
<INPUT TYPE="submit" VALUE="Enviar">

Al presionar el botón de enviar se envía la página al servidor La página que especificamos en el botón action la gestiona tabla.php en este caso En el servidor para recuperar el valor utilizaremos la tabla supergobal una tabla es una estructura indexada por índices leeremos el índice nombre de variable de la tabla $_GET o $_POST dependiendo de el método de envío

Valor numérico introducido: <?php echo $_GET['numero'] ?> 


iteracion while

iteracion while


BASES DE DATOS

  • Para trabajar con bases de datos debemos
    • Conectarnos
    • Seleccionar

Normalmente también

    • Realizaremos Consulta o inserciones
    • Procesar información
    • Cerrar la base de datos

Para realizar estas acciones disponemos de diversas funciones específicas dentro de PHP


CONECTAR AL SERVIDOR MYSQL

resource mysql_connect($hostname, $user, $password);

  • Los parámetros de tipo string identificarían
    • $hostname = nombre del host
    • $user = usuario
    • $password = contraseña
  • Esta función retorna el recurso de la conexión
    • FALSO si no se ha conectado


SELECCIONAR LA BASE DE DATOS

Dentro del servidor tendremos diferentes bases de datos Antes de trabajar con una debemos seleccionarla Si no la seleccionamos se intentará operar con la última seleccionada

bool mysql_select_db ($namedatabase, $conexion)
  • Ejemplo
<?php
$conexion = mysql_connect('localhost', 'manolo', 'manolo');
if (!$conexion) {
    die('No conectado : ' . mysql_error());
}
// Seleccionar alumnos como base de datos activa
$db_seleccionada = mysql_select_db('alumnos', $conexion);
if (!$db_seleccionada) {
    die ('No puedo conectar con la BD alumno : ' . mysql_error());
}
?>

FUNCIONES die()- mysql_error() y concatenador .

die('texto');

Es una función que aborta la ejecución previamente visualiza el mensaje del parámetro por pantalla

mysql_error()

visualiza el error que da el sistema por el que no ha podido conectar

.

Es un concatenador de cadenas

echo "Esto es una cadena " . "Esta es otra concatenada a la anterior"


CREAR CONSULTA

resource mysql_query ( string $consulta );

consulta es la consulta a la base de datos

<?php
$resultado = mysql_query('SELECT * from alumnos');
if (!$resultado) {
    die('Invalid query: ' . mysql_error());
}
?> 


PROCESAR INFORMACIÓN

Ahora ya tenemos los datos con los que queremos trabajar los tenemos en una variable de tipo consulta ahora debemos recorrela La variable es como un vector de filas que hay que recorrer

array mysql_fetch_row ( resource $resultado )

esta función devuelve falso o 0 cuando ya no retorna más filas si no retorna la siguiente fila de la consulta la forma de acceder a cada campo será por el índice del array http://www.forosdelweb.com/f18/saber-columnas-111155/

array[0] .. array[n]
<?php
$resultado = mysql_query("SELECT nombre, apellido, direccion FROMM alumnos");
if (!$resultado) {
   die("Could not run query: " . mysql_error();
}
$c=0;
while ($alumno=mysql_fetch_row($result)){
     echo "alumno $c nombre $alumno[0] apellido $alumno[1] direccion $alumno[3]");
     $c++;
?>

GESTIÓN DE BASE DE DATOS

Conocer todas las bases de datos

mysql_connect('localhost', 'mysql_user', 'mysql_password');

Todas las tablas de una base de datos

resource mysql_list_tables ( string $database [, resource $link_identifier ])

Los campos de una tabla

resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier])

FUNCIONES

==Definición de funiones

function  ‘’’nombre_de_funcion’’’ (’’’’lista_de_parametros’’’’){
’’’’codigo a ejecutar ’’’’
}

Ejemplo de funcion

  • Realiza una función que convierta de mayúsculas a minúsculas

Generar pdf desde el código php

pdf=new mPDF();

$mpdf->WriteHTML('

Hello World

');

$mpdf->Output();