Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Sintaxis/1»

De WikiEducator
Saltar a: navegación, buscar
Línea 12: Línea 12:
 
__TOC__
 
__TOC__
 
<div id=apuntes_distancia>
 
<div id=apuntes_distancia>
 
 
<div class=slide>
 
 
==Funciones propias de php sobre tipos y valores==
 
http://php.net/manual/es/ref.var.php
 
*Existen una serie (muchas) de funciones que son interesantes de conocer
 
*Estas funciones ya están creadas y se pueden usar directamente
 
*Están relacionadas con los tipos de datos y valores
 
*Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
 
*A continuación trataremos alguna de ellas
 
</div>
 
  
 
<div class="slide">
 
<div class="slide">
;[http://es1.php.net/manual/es/function.var-dump.php var_dump]
+
===Dónde poner el código embebido===
<source lang=php>
+
<br/>
void var_dump($expresion)
+
{{MRM_Pregunta|Dónde escribir código php}}
</source>
+
*Nos da información sobre la estructura de un valor resultado de una expresion
+
 
</div>
 
</div>
  
 
<div class="slide">
 
<div class="slide">
;[http://es1.php.net/manual/es/function.isset.php isset]
+
<hr  />
<source lang=php>
+
*Donde queramos que se ejecute algo
bool isset ( $variable )
+
<hr/>
</source>
+
[[Imagen:codigoPHP.png|center|700px]]
*verifica que una variable tiene valor (está definida y no tiene un valor null)
+
*Se ejecuta como si fuera un solo programa
<source lang=php>
+
*A la hora de incluir php podemos se usa mucho la filosofía Modelo Vista /Controlador que veremos en otro tema
 +
{{MRM_Resumen|Title=Modelo vista controlador|
 +
*Trata de separar el código según su cometido, de forma muy resumida
 +
*Hay acciones que realizan cálculos y obtienen resultados (Controlador
 +
*Hay acciones que lo que hacen es visualziar valores (Vista)
 +
*Hay acciones que se encargan de interactuar con la base de datos (Modelo)
 +
}}
 +
{{MRM_Puntos clave|Title=Empecemos aplicar el modelo vista controlador|
 +
*Podemos llevar este criterio desde el principio siguiente el esquema siguiente
 +
;esqueleto MVC
 +
<source lang=html5>
 +
<!-- Empecemos nuestro fichero escribiendo instrucciones php
 +
Estas instrucciones realizarán cálculos y obtendrán valores
 +
En ningúm momento generan salidas,
 +
Trataremos de almacenar los valores en variables
 +
-->
 
<?php
 
<?php
$VariableValor= 5;
+
//instrucciones php
print ("El valor de la variable es $VariableValor");
+
$variables = "Mensaje escrito desde php";
print ("El valor de otra variable es $OtraVariableValor");
+
?>
if (isset($VariableValor))
+
<!--Ahora el código html-->
    print ("VariableValor tiene valor asignado");
+
<!DOCTYPE html>
else
+
<html>
    print ("VariableValor no no tiene valor asignado");
+
    <head>
if (isset($OtraVariableValor))
+
        <meta charset="UTF-8">
    print ("OtraVariableValor tiene valor asignado");
+
        <title>probando php</title>
else
+
    </head>
    print ("OtraVariableValor no no tiene valor asignado");
+
    <body>
  ?>
+
            <!--Dentro del html cuando necesitemos ver valores
 +
                los escribiemo
 +
                También puede ser que necesitemos instrucciones
 +
                las escribimos, pero intentando escribir lo necesario.
 +
                Esto es vista
 +
            -->
 +
        <h1> <?php echo $variable ?></h1>
 +
    </body>
 +
</html>
 +
?>
 
</source>
 
</source>
</div>
 
<div class="slide">
 
===Funciones para determinar existencia de variables===
 
Tenemos tres funciones muy parecidas pero no del todo iguales
 
  
{|class="wikitable" width="60%"
+
}}
!Función
+
!Significado
+
|-
+
|'''is_null($variable)'''
+
|Determina si una variable ($variable) tiene valor null
+
|-
+
|'''empty($variable)'''
+
|Determina si una variable ($variables)está vacía
+
|-
+
|'''isset($variable)'''
+
|Determina is una variable ha sido definida y no tiene un valor vacío.
+
|}
+
  
*Es importante saber qué es para php un valor nulo, o si está vacía que no son conceptos sinónimos
 
;Valor null:
 
<source lang=php>
 
$a=null //$a tiene valor null.
 
is_null($a) //true
 
unset($a) //Se destruye la variable y toma el valor null
 
is_null($a) //true
 
//$b una variable que no existe tiene el valor null
 
is_null($b) //true
 
</source>
 
;Variable vacía
 
<source lang=php>
 
$a=null //$a está vacía
 
empty($a) //true
 
$a="";
 
empty($a) //true
 
$a="hola";
 
empty($a) //false
 
unset($a);
 
empty($a) //true
 
$a=false;
 
empty($a) //true !OJO!
 
$a=0;
 
empty($a) //true !OJO!
 
 
</source>
 
*Puedes ver la siguiente app en la que puedes aportar valores
 
http://manuel.infenlaces.com/apuntes/existencia_valor_variables
 
*Tener en cuenta que si evaluamos si una variable está vacía no es
 
 
</div>
 
</div>
 
<div class="slide">
 
<div class="slide">
;[http://es1.php.net/manual/es/function.empty.php empty]
 
<source lang=php>
 
bool empty ($varriable)
 
</source>
 
*Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
 
</div>
 
  
<div class="slide">
 
{{MRM_Actividad|
 
Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo}}
 
</div>
 
  
<div class="slide">
+
{{MRM_Ejemplo|Title=Programa para ver si un número es o no par|
{{MRM_Actividad|
+
No te preocupes si no entiendes el código, lo iremos viendo
Usando la función xxxyyy donde xxx e yyy será dec oct bin o hex para convertir el valor de un sistema numérico a otro}}
+
<source lang=php>
</div>
+
<?php
  
<div class="slide">
+
//-----------CONTROLADOR-----------------------------
{{MRM_Actividad|
+
//Instrucciones que realizan cálculos
*Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()
+
//Guardo el resultado que quiero mostrar en variables
 +
$a = rand(1, 100); //Genero un número aleatorio
 +
$fecha = date("d m Y", time()); //Obtenemos la fecha
 +
$title = "Hoy, $fecha, veremos si '$a' es par o impar "; //Creo un título
 +
if ($a % 2 == 0) //Si el número es par
 +
    $msj = "El número $a es par";
 +
else
 +
    $msj = "El número $a es impar";
 +
?>
  
<source lang=php>
+
<!-- Ahora metemos el código php cuando lo necesitemos-->
$num=0;
+
<!------------------- VISTA (solo la parte php)----------------------->
$nombre="";
+
<!DOCTYPE html>
$nombre=null;
+
<html>
$nombre="0";
+
    <head>
$pregunta = FALSE;
+
        <meta charset="UTF-8">
</source>
+
        <title>probando php</title>
}}
+
    </head>
</div>
+
    <body>
 +
        <h1> <?php echo $title ?></h1>
 +
        <hr  />
 +
        <h3> <?php echo $msj ?></h3>
  
<div class="slide">
+
    </body>
;[http://es1.php.net/manual/es/function.gettype.php gettype]]
+
</html>
*Devuelve el tipo de una variable
+
<source lang=php>
+
string gettype($variable)
+
 
</source>
 
</source>
</div>
 
  
<div class="slide">
 
;[http://es1.php.net/manual/es/function.is-bool.phpis_bool][http://es1.php.net/manual/es/function.is-double.php is-double] [http://es1.php.net/manual/es/function.is-int.php is-int], is-xxx
 
*son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos
 
[[Archivo:funciones_is-xxx.png]]
 
</div>
 
  
<div class="slide">
+
}}
*Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
+
<source lang=php>
+
string is_int($variable);
+
string is_double($variable);
+
string is_bool($variable);
+
string is_integer($variable);
+
string is_null($variable);
+
string is_string($variable);
+
...
+
</source>
+
</div>
+
  
<div class="slide">
 
{{MRM_Actividad|
 
Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión}}
 
<source lang=php>
 
  $a=5;
 
</source>
 
 
</div>
 
</div>
 
<div class="slide">
 
;[http://php.net/manual/es/function.unset.php unset]
 
*Destruye la variable especificada perdiéndose su valor
 
void unset ($var)
 
</div>
 
 
  
  
  
 
</div>
 
</div>

Revisión de 09:07 22 oct 2018



DWES TituloTema3.gif


Dónde poner el código embebido




Icon qmark.gif
Pregunta
Dónde escribir código php

  • Donde queramos que se ejecute algo

CodigoPHP.png
  • Se ejecuta como si fuera un solo programa
  • A la hora de incluir php podemos se usa mucho la filosofía Modelo Vista /Controlador que veremos en otro tema


Icon summary.gif
Modelo vista controlador
  • Trata de separar el código según su cometido, de forma muy resumida
  • Hay acciones que realizan cálculos y obtienen resultados (Controlador
  • Hay acciones que lo que hacen es visualziar valores (Vista)
  • Hay acciones que se encargan de interactuar con la base de datos (Modelo)



Icon key points.gif

Empecemos aplicar el modelo vista controlador

  • Podemos llevar este criterio desde el principio siguiente el esquema siguiente
esqueleto MVC
<!-- Empecemos nuestro fichero escribiendo instrucciones php
Estas instrucciones realizarán cálculos y obtendrán valores
En ningúm momento generan salidas,
Trataremos de almacenar los valores en variables
-->
<?php
//instrucciones php
$variables = "Mensaje escrito desde php";
?>
<!--Ahora el código html-->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>probando php</title>
    </head>
    <body>
             <!--Dentro del html cuando necesitemos ver valores
                 los escribiemo
                 También puede ser que necesitemos instrucciones
                 las escribimos, pero intentando escribir lo necesario.
                 Esto es vista
             -->
        <h1> <?php echo $variable ?></h1>
    </body>
</html>
?>





Icon casestudy.gif
Programa para ver si un número es o no par

No te preocupes si no entiendes el código, lo iremos viendo

<?php
 
//-----------CONTROLADOR-----------------------------
//Instrucciones que realizan cálculos
//Guardo el resultado que quiero mostrar en variables
$a = rand(1, 100); //Genero un número aleatorio
$fecha = date("d m Y", time()); //Obtenemos la fecha
$title = "Hoy, $fecha, veremos si '$a' es par o impar "; //Creo un título
if ($a % 2 == 0) //Si el número es par
    $msj = "El número $a es par";
else
    $msj = "El número $a es impar";
?>
 
<!-- Ahora metemos el código php cuando lo necesitemos-->
<!------------------- VISTA (solo la parte php)----------------------->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>probando php</title>
    </head>
    <body>
        <h1> <?php echo $title ?></h1>
        <hr  />
        <h3> <?php echo $msj ?></h3>
 
    </body>
</html>