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

De WikiEducator
Saltar a: navegación, buscar
 
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Sintaxis/nav}}
 
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Sintaxis/nav}}
 
===Dónde poner el código embebido===
 
<br/>
 
{{MRM_Pregunta|Dónde escribir código php}}
 
</div>
 
 
 
<div class="slide">
 
<div class="slide">
<hr  />
 
*Donde queramos que se ejecute algo
 
<hr/>
 
[[Imagen:codigoPHP.png|center|700px]]
 
*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
 
{{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
 
//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>
 
?>
 
</source>
 
 
}}
 
 
</div>
 
<div class="slide">
 
 
 
{{MRM_Ejemplo|Title=Programa para ver si un número es o no par|
 
No te preocupes si no entiendes el código, lo iremos viendo
 
<source lang=php>
 
<?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>
 
</source>
 
 
 
}}
 
 
</div>
 
 
<div class="slide">
 
 
 
===Escribir PHP con directivas de inclusión===
 
===Escribir PHP con directivas de inclusión===
 
*Podemos escribir el código php escribiéndolo en un fichero  aparte y luego lo incluimos.
 
*Podemos escribir el código php escribiéndolo en un fichero  aparte y luego lo incluimos.

Última revisión de 09:06 22 oct 2018


Escribir PHP con directivas de inclusión

  • Podemos escribir el código php escribiéndolo en un fichero aparte y luego lo incluimos.
    • Incluimos el fichero explícitamente
    • Para ello usamos directivas o instrucciones del tipo include
  include('ruta/nobrefichero');
  require('ruta/nobrefichero');
  include_once('ruta/nombrefichero');
  require_once('ruta/nombrefichero');
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.


Icon key points.gif

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


Icon key points.gif

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


Icon activity.jpg
Probando include require
Crea 4 ficheros con el siguiente código

fichero_include.php

<?php
  echo "<b><i>Hola desde un fichero include </b></i><hr />";
?>

fichero_include_once.php

<?php
 echo "<b><i>Hola desde un fichero include once </b></i><hr />";
?>

fichero_require.php

<?php
  echo "<b><i>Hola desde un fichero require </b></i><hr />";
?>

fichero_require_once.php

<?php
  echo "<b><i>Hola desde un fichero require once </b></i><hr />";
?>

Ahora crea un programa principal dónde uses las instrucciones de inclusión vistas en este apartado.

<?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>";
require 'ficheros/fichero_no_existe_require.php';
echo "Esta línea ya no se imprimirá ni nada que vaya después de aquí";
?>




Icon activity.jpg
Práctica
  • Siéntete cómoda en modificar el fichero y ver el resultado
  • Observa que estas instrucciones no son exactamente funciones, por lo que no necesitan paréntesis (aunque se puede poner por mantener una homogeneidad con sintaxis del uso o invocación de funciones)
include 'ficheros/fichero_include.php'
//Es léxicamente y sintácticamente igual que
include ('ficheros/fichero_include.php');






Icon inter.gif
Recursos de la Web



Sensitive case?
  • El lenguaje es sensible a mayúsculas y minúsculas en los siguientes casos:
    • En los identificadores de variables
$edad =10;
$Edad =20;
$edad y $Edad son 2 variables diferentes
    • En los nombres de funciones
function  $calculaEdad($anyo){
...
}
function $CalculaEdad($anyo){
...
}
//Son dos funciones diferentes
  • El lenguaje NO es sensible a mayúsculas y minúsculas en:
    • las palabras reservadas (if o If o IF o iF,...)
If () {
 //..
}
IF () {
 //..
}
if () {
 //..
}
iF () {
 //..
}
//Todas las construcciones if son correctas