Diferencia entre revisiones de «Usuario:ManuelRomero/PHP/Resumen»

De WikiEducator
Saltar a: navegación, buscar
(Estructuras de control)
(Leer valores)
Línea 225: Línea 225:
  
 
===Leer valores===
 
===Leer valores===
 +
*Para leer valores necesitamos un formulario (no es la única forma pero si la más usada)
 +
*Otras maneras leer de ficheros por ejemplo
 +
*La idea es que al hacer una solicitud web vienen también todos los contenidos de los diferentes input de un formulario
 +
;form
 +
<source lang=html5>
 +
<form action="ficheroPhpAEjecutar.php" method="POST"
 +
    <input type = "text|radio| ..."  name="id_para_leer_en_php"  value ="valor_por_defecto"
 +
    <input type=submit    value="enviar">
 +
<form>
 +
</source>
 +
*Recordad los atributos importantes
 +
*El name de los input es la forma de leer en servidor
 +
*Cuando hacemos click en el submit es cuando invocamos al fichero especificado
 +
;leer
 +
<source lang=php>
 +
$variable =$_POST["id_para_leer_en_php"] ;
 +
$variable =$_GET["id_para_leer_en_php"] ;
 +
$variable =$_REQUEST["id_para_leer_en_php"] ;
 +
$variable = intput_filter (INPUT_POST, "id_para_leer_en_php", FILTER.....) ;
 +
$variable = intput_filter (INPUT_GET, "id_para_leer_en_php", FILTER.....) ;
 +
</source>
 +
*Si pasamos un filtro, no podemos leer arrays.
 +
*Siempre leeremos como una cadena de caracteres
 +
 
===Escribir mensajes===
 
===Escribir mensajes===
 
===Expresiones===
 
===Expresiones===

Revisión de 01:01 12 mar 2015

Instalación

  • Apache
  • php
  • mysql
  • netbeans
  • java
  • debug

Sintaxis básica

Código embebido
<?php
.....
?>
  • En un mismo fichero puedo abrir y cerrar etiquetas
  • El comportamiento es como si todo es un fichero, que es lo que es
<?php
$titulo= "El título  de la página "
$trozosCodigo =0;
?>
<source lang=php>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Probando cosas con título <?php echo $titulo; $trozosCodigo++;?></title>
    </head>
    <body>
        <?php
              echo "Otro trozo de código php ";
              $trozosCodigo+;
         ?>
 
    </body>
        <?php
              $trozosCodigo+;
              echo "En total hay $trozosCodigo de código;";
 
         ?>
</html>
Variables
  • Identificadores que empiezan por $
<?php
$variable = "valor";
?>
  • Lenguaje fuertemente tipado de declaración dinámica
  • 5 tipos básicos
  • Los tipos pueden cambiar en cualquier momento
<?php
$a= 5;       // $a de tipo  entero
$a="maria"; // $a de tipo  string
$a=true; // $a de tipo  booleano
$a=5.5; // $a de tipo  float
$a=null; // $a de tipo  null
?>

Array

  • Son estructuras o colecciones de alguna manera ordenadas de valores de cualquier tipo
  • Existen muchas funciones para trabajar con ellas
Definirlo
<?php
 $miArray = array();//Crea un array vacío
 $otroArray = array("Maria", "Luis", "Pedro", "Marta", "Carol");
 $otroArrayVacio = [];
 $array4 = [1,5,4,3,2];
?>
<7source>
;Añadir elementos después del último que hubiera
<source lang=php>
<?php
 $miArray[] =10 ;
 $otroArray[] = "Marga";
 $otroArrayVacio[] =8;
 $array4 []=15;
?>
Añadir elementos en una posición concreta
<?php
 $miArray[5] =10 ; //El próximo elemento se añadirá en la posicón 6 aunque solo haya 2 elementos
 $otroArray[2] = "Marga"; //Si ya existiera la posición 2 se sustituiría
 $otroArrayVacio[10] =8;
 $array4 [1]=15;
?>
Eliminar una posición del array
  • Se usa la conocida función unset(...)
  • Por ejemplo eliminar las posición previamente añadidas
Añadir elementos en una posición concreta
<?php
 unset($miArray[5]); //Elimina el elemento de la posicón 6 Si fuera el último el siguiente que añadamos sin indexar cubrirá esa posición, si no se dejará un hueco
 unset($otroArray[2]);
 unset($otroArrayVacio[10]);
 unset($array4 [1]);
?>
Funciones que más hemos usado con array
count($array) o size($array) 
  • Nos dice el número de elementos de un array, que no tiene porqué coincidir con el siguiente elemento a añadir.
Tipos de array
  • Es importante tener clara la diferencia entre array asociativo y array indexado
  • Ambos casos son colección de elementos por que son array
  • Se diferencian en la forma que voy a indicar cada posición de los diferentes elementos
indexado
  • La posición de cada elemento la especifico con un número
$misNotasIndexado =[6,7,8,7,6,7,8,7];
  • Es como igual que hacer
$misNotasIndexado =[0=>6,1=>7,2=>8,3=>7,4=>6,5=>7,6=>8,7=>7];
asociativo
  • La posición de cada elemento la especifico con una cadena de caracteres
  • En este caso a la hora de insertar un array, hay que especificar obligatoriamente en valor del índice
$misNotasAsociativo =["maria"=>6,"ana"=>7,"nieves"=>8,"luis"=>7,"ester"=>6,"carlos"=>7,"pedro"=>8,"nieves"=>7];


Recorrer un array foreach(....)
  • Hay diferentes maneras de recorre un array, pero esta estructura es la más cómoda
  • La forma de interpretarla narrativamente sería
para el array $misNotasIndexado coge cada elemento y almacénalo en $nota 
foreach ($misNotasIndexado as $nota){
        echo "Valor de la nota : $nota";
}
*También podría acceder a los índices
 '''para el array $misNotasIndexado coge cada  indice y guardalo en $indice y cada elemento de esa posición  y almacénalo en $nota 
<source lang = php>
foreach ($misNotasIndexado as $indice => $nota){
        echo "Valor de la nota $indice : $nota";
}
*En el caso de arrays asociativo  nos interesará la mayoría de las veces acceder al valor del índice y del elemento
 '''para el array $misNotasAsociativo coge cada  indice y guardalo en la variable  $persona y cada elemento de esa posición  y almacénalo en $nota 
<source lang = php>
foreach ($misNotasAsociativo as $persona => $nota){
        echo "Valor de la nota $persona : $nota";
}
  • Es importante marcar que las variables $indice, $persona o $nota, son variables que creamos nosotros y pueden lógicamente tener cualquier nombre

Estructuras de control

  • Ya sabemos que hay 3 tipos de estructuras de control
selectivas
 if (expresión_booleana) {
    instrucciones a ejecutar en el caso 
    de que expresión_booleana retorne true
    Si solo hubiera una instrucción podemos omitir las llaves
 }else{
    instrucciones a ejecutar en el caso 
    de que expresión_booleana retorne false
    Esta parte no es obligatoria
  }
  • Tenemos también el llamado selector múltiple
 switch $variable{
        case valor1 : 
                    //instrucciones
                    break;
        case valor2 : 
                    //instrucciones
                    break;
       // .......
       default: 
                    //instrucciones_default
                    break;
 
}
  • Recordad que si no ponemos el braek, se ejecutarán todos los case hasta encontrar un break o fin del switch
  • La sección default es opcional y se entrará en ella si no hay coincidencia previa
  • Lo que se hace en cada case es mirar a ver si el valor de la variable coincide
bucle
  • Como ya sabemos tenemos tres tipos
  • El bucle clásico
  • Recordemos las tres reglas de hora (inicializar, comparar correctamente, actualizar).
while (expresion_booleana){
  //instrucciones
}
  • El bucle contador
  • Ponemos un ejemplo que se va incrementando la variable de 11
  • Podemos mocificar cada una de las tres partes del for
for ($var = valor_inicial; $var < valor_final; $var++){
  //instrucciones
}
  • El bucle que ejecuta una iteración segurao
do{
  //instrucciones
}while (expresion_booleana);
  • Observar que en este caso al final va un ; pues separamos de la siguiente instrucción
Secuenciales
  • Son instrucciones que van una detrás de otra
  • Usamos el ; para separar una de otra
//instruccion de asignacion
$variable = valor  o expresion ;
//instruccion de invocacion funcion  del sistema o creada por nosotros
mail ($destino, $submit, $mensaje, $from) ;
//instruccion de escribir
echo "hola valientes y entusiastas de la programacion";
//instruccion de lectura
$variable = $_POST['variable'];
//instruccion de inicio fin de bloque en este caso sin punto y coma
{
}

Leer valores

  • Para leer valores necesitamos un formulario (no es la única forma pero si la más usada)
  • Otras maneras leer de ficheros por ejemplo
  • La idea es que al hacer una solicitud web vienen también todos los contenidos de los diferentes input de un formulario
form
<form action="ficheroPhpAEjecutar.php" method="POST"
     <input type = "text|radio| ..."   name="id_para_leer_en_php"  value ="valor_por_defecto"
     <input type=submit     value="enviar">
<form>
  • Recordad los atributos importantes
  • El name de los input es la forma de leer en servidor
  • Cuando hacemos click en el submit es cuando invocamos al fichero especificado
leer
$variable =$_POST["id_para_leer_en_php"] ;
$variable =$_GET["id_para_leer_en_php"] ;
$variable =$_REQUEST["id_para_leer_en_php"] ;
$variable = intput_filter (INPUT_POST, "id_para_leer_en_php", FILTER.....) ;
$variable = intput_filter (INPUT_GET, "id_para_leer_en_php", FILTER.....) ;
  • Si pasamos un filtro, no podemos leer arrays.
  • Siempre leeremos como una cadena de caracteres

Escribir mensajes

Expresiones

Expresiones de asignación

Expresiones aritméticas

Expresiones booleanas

comparación
lógicas

Funciones

Cookies

Sesiones

Autentificación

Objetos

atributos

métodos

concepto de sobrecarga

Encapsulacion: delimitadores de acceso

constructor

métodos mágicos

elementos estáticos

métodos mágicos