Diferencia entre revisiones de «Plantilla:PHP/InstruccionEscribir»
De WikiEducator
(→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
- Es bueno escribir al principio del script
<?php /** * User: Nombre y apellidos * Date: 19/10/17 * Version: 17:40 */
<>/div
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):
- echo
- Existen otras funciones que iremos viendo según avance el curso