Diferencia entre revisiones de «Plantilla:PHP/InstruccionEscribir»

De WikiEducator
Saltar a: navegación, buscar
(Funciones de salida)
(Funciones de salida)
Línea 13: Línea 13:
 
</source>
 
</source>
 
}}  
 
}}  
 +
 +
===Dónde ponemos el código php===
 +
===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
 +
*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
 +
{{Plegable|hide|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>
 +
}}
 +
}}
 +
 +
{{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===
 +
*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'''''
 +
<source lang=php>
 +
  include('ruta/nobrefichero');
 +
  require('ruta/nobrefichero');
 +
  include_once('ruta/nombrefichero');
 +
  require_once('ruta/nombrefichero');
 +
</source>
 +
</div>
 +
 +
<div class="slide">
 +
;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}}
 +
</div>
 +
 +
<div class="slide">
 +
{{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}}
 +
</div>
 +
 +
<div class="slide">
 +
{{MRM_Actividad|Title=Probando include require
 +
|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>";
 +
require 'ficheros/fichero_no_existe_require.php';
 +
echo "Esta línea ya no se imprimirá ni nada que vaya después de aquí";
 +
?>
 +
</source>
 +
{{Tip|
 +
*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)
 +
<source lang=php>
 +
include 'ficheros/fichero_include.php'
 +
//Es léxicamente y sintácticamente igual que
 +
include ('ficheros/fichero_include.php');
 +
 +
</source>
 +
}}
 +
}}
 +
</div>
 +
 +
 +
 +
<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 -->
 +
 +
}}
 +
</div>
 +
 +
<div class=slide>
 +
===Comentarios ===
 +
*Son ignorados por el intérprete, no generan instrucciones, pero se consideran parte del software
 +
*En php tengo 4 formas de hacer comentarios
 +
<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
 +
/**
 +
Este comentario permite insertar información
 +
Para que luego phpDocumentor genere una página web
 +
Con la información de mi código
 +
*/
 +
</source>
 +
*Así como comentar las funciones como veremos
 +
*Este código nos visualizará lo siguiente
 +
<source lang=php>
 +
Valor de la variable 16
 +
</source>
 +
El resto del código será ignorado
 +
</div>
 +
<div class='slide>
 +
*Es bueno escribir al principio del script
 +
<source lang=php>
 +
<?php
 +
/**
 +
* User: Nombre y apellidos
 +
* Date: 19/10/17
 +
* Version: 17:40
 +
*/
 +
</source>
 +
<>/div
 +
<div class="slide">
 +
*Aquí tienes la referencia para ver las diferentes directivas para generar código
 +
*Más adelante en el curso las veremos.
 +
{{MRM_Recursos de la Web|
 +
*Directivas para comentarios https://phpdoc.org/docs/latest/index.html
 +
}}
 +
</div>
 +
 +
<div class="slide">
 +
{{MRM_Actividad|Title=probando comentarios |
 +
*Escribe la  siguiente función anterior en un fichero php
 +
 +
<source lang=php>
 +
function miFuncion($num1, $num2){
 +
    if ($num1>$num2)
 +
        return $num1;
 +
    else
 +
        return $num2;
 +
</source>
 +
Ahora justo en la línea de encima de función escribe
 +
<source lang=php>
 +
/**
 +
</source>
 +
*y luego presiona intro
 +
*Te debería de quedar
 +
<source lang=php>
 +
/**
 +
*
 +
* @param type $num1
 +
* @param type $num2
 +
* @return type
 +
*/
 +
function miFuncion($num1, $num2){
 +
    if ($num1>$num2)
 +
        return $num1;
 +
    else
 +
        return $num2;
 +
 
 +
</source>
 +
}}
 +
</div>
  
 
== Funciones de salida==
 
== Funciones de salida==

Revisión de 05:34 6 feb 2018


Icon key points.gif

PHP instruccion inicio fin

En PHP el bloque inicio y fin está especificado con los caracteres
  { //inicio de bloque
  } //fin de bloque
Por otro lado el inicio del programa se especifica con las etiquetas
 <?php //Etiqueta de inicio de script
 
 ?>  //Etiqueta de fin de script



Dónde ponemos el código php

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




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>






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 present.gif
Tip:
  • 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



Comentarios

  • Son ignorados por el intérprete, no generan instrucciones, pero se consideran parte del software
  • En php tengo 4 formas de hacer comentarios
<?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
/**
Este comentario permite insertar información
Para que luego phpDocumentor genere una página web
Con la información de mi código
*/
  • Así como comentar las funciones como veremos
  • Este código nos visualizará lo siguiente
 Valor de la variable 16

El resto del código será ignorado

  • Es bueno escribir al principio del script
<?php
/**
 * User: Nombre y apellidos
 * Date: 19/10/17
 * Version: 17:40
 */

<>/div

  • Aquí tienes la referencia para ver las diferentes directivas para generar código
  • Más adelante en el curso las veremos.


Icon inter.gif
Recursos de la Web



Icon activity.jpg
probando comentarios
  • Escribe la siguiente función anterior en un fichero php
function miFuncion($num1, $num2){
    if ($num1>$num2)
        return $num1;
    else
        return $num2;

Ahora justo en la línea de encima de función escribe

/**
  • y luego presiona intro
  • Te debería de quedar
/**
 * 
 * @param type $num1
 * @param type $num2
 * @return type 
 */
function miFuncion($num1, $num2){
    if ($num1>$num2)
        return $num1;
    else
        return $num2;



Funciones de salida

  • Construcciones básicas para salida de caracteres
  • En PHP,en realidad no son funciones por lo que pueden ir sin paréntesis (con o sin paréntesis):
  1. echo
  2. print
  • Existen otras funciones que iremos viendo según avance el curso

echo

  • Es el uso más sencillo
  • Imprime una cadena como argumentos
  • En la versión sin paréntesis , también puedes pasar una lista de argumentos.
<?php
*echo “primer argumento”, “segundo argumento”, “tercer argumento”
?>

print

  • Esta sentencia es igual en uso y funcionalidad que echo
  • Tiene dos diferencias con echo
  1. Sólo puede aceptar un argumento
  2. Devuelve un valor booleano que representa si la sentencia ha tenido exito o no
Icon qmark.gif
Observa el siguiente código e indica si es o no correcto
  •  echo 'hola caracola', 'hola','como estás'
    • Correcto
      • Cierto, echo admite una lista de parámetros
    • Incorrecto
      • Revisa bien tu respuesta
  •  print 'hola caracola', 'hola','como estás'
    • Correcto
      • Revisa bien tu respuesta
    • Incorrecto
      • Cierto, print no permite un listado de parámetros