Diferencia entre revisiones de «Usuario:ManuelRomero/php/NewPHP/B2T1/Sintaxis P»
De WikiEducator
< Usuario:ManuelRomero | php
| (21 revisiones intermedias por el mismo usuario no mostrado) | |||
| Línea 267: | Línea 267: | ||
}} | }} | ||
</div> | </div> | ||
| − | + | ||
<div class="slide"> | <div class="slide"> | ||
| + | ;Poniendo ''''';''''' | ||
{{Tip|También puede haber ; | {{Tip|También puede haber ; | ||
<source lang=php> | <source lang=php> | ||
| Línea 294: | Línea 295: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
| − | {{Plegable|hide|Posible solución | + | <div style="font-size:18px"> |
| − | < | + | {{Plegable|hide|<h3>Posible solución</h3>| |
<source lang=html5> | <source lang=html5> | ||
</body> | </body> | ||
| Línea 319: | Línea 320: | ||
</source> | </source> | ||
}} | }} | ||
| + | </div> | ||
| + | }} | ||
| + | </div> | ||
| + | |||
| + | <div class="slide"> | ||
| + | |||
| + | <div style="font-size:18px"> | ||
| + | ;Esto es lo que ve el cliente | ||
| + | <source lang=html5> | ||
| + | </body> | ||
| + | </html> | ||
| + | <!doctype html> | ||
| + | |||
| + | <html lang="en"> | ||
| + | <head> | ||
| + | <meta charset="UTF-8"> | ||
| + | <title> | ||
| + | Este es un título desde php | ||
| + | </title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <h1>Mensaje en texto de h1</h1> | ||
| + | <h2>Mensaje en texto de h2</h2> | ||
| + | <h3>Mensaje en texto de h3</h3> | ||
| + | </body> | ||
| + | </html> | ||
| + | </source> | ||
| + | </div> | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
[[Image:1.png]] | [[Image:1.png]] | ||
| + | </div> | ||
| + | |||
| + | |||
| + | <!-- INSTRUCCION ESCRIBIR ------> | ||
| + | <div class="slide"> | ||
| + | === 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''''' | ||
| + | # '''''print''''' | ||
| + | *Existen otras funciones que iremos viendo según avance el curso | ||
| + | printf, var_dump, print_r, .... | ||
| + | </div> | ||
| + | |||
| + | <div class="slide"> | ||
| + | <!--4----------------------------------> | ||
| + | |||
| + | ===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. | ||
| + | <source lang=php> | ||
| + | <?php | ||
| + | *echo “primer argumento”, “segundo argumento”, “tercer argumento” | ||
| + | ?> | ||
| + | </source> | ||
| + | </div> | ||
| + | |||
| + | <div class="slide"> | ||
| + | <!--4----------------------------------> | ||
| + | |||
| + | ===print=== | ||
| + | *Esta sentencia es igual en uso y funcionalidad que echo | ||
| + | *Tiene dos diferencias con echo | ||
| + | #Sólo puede aceptar un argumento | ||
| + | #Devuelve un valor booleano que representa si la sentencia ha tenido exito o no | ||
| + | </div> | ||
| + | <div class="slide"> | ||
| + | {{Quiz_Multiple_Choice | ||
| + | |title=Observa el siguiente código e indica si es o no correcto | ||
| + | |body= | ||
| + | *<source lang=php> echo 'hola caracola', 'hola','como estás';</source> | ||
| + | ** Correcto | ||
| + | *** Cierto, '''''echo''''' admite una lista de parámetros | ||
| + | ** Incorrecto | ||
| + | *** Revisa bien tu respuesta | ||
| + | *<source lang=php> print 'hola caracola', 'hola','como estás';</source> | ||
| + | ** Correcto | ||
| + | *** Revisa bien tu respuesta | ||
| + | ** Incorrecto | ||
| + | *** Cierto, '''''print''''' no permite un listado de parámetros | ||
| + | |mix=false | ||
| + | |hint= | ||
}} | }} | ||
</div> | </div> | ||
| + | |||
| + | |||
| + | |||
| + | <div class='slide'> | ||
| + | ===Comentarios === | ||
| + | *Son ignorados por el intérprete | ||
| + | *No generan instrucciones | ||
| + | *Se consideran parte del software | ||
| + | </div> | ||
| + | <div class='slide'> | ||
| + | *En php tengo 4 formas de hacer comentarios | ||
| + | <div style=font-size:20px> | ||
| + | <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 php Documentor genere una página web | ||
| + | Con la información de mi código | ||
| + | */ | ||
| + | </source> | ||
| + | </div> | ||
| + | </div> | ||
| + | <div class='slide'> | ||
| + | *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"> | ||
| + | <div style=font-size:18px> | ||
| + | {{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> | ||
| + | }} | ||
| + | </div> | ||
| + | |||
| + | </div> | ||
| + | <div class='slide'> | ||
| + | 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 | ||
| + | <div style=font-size:18px> | ||
| + | <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> | ||
| + | </div> | ||
| + | <div class='slide'> | ||
| + | ===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> | ||
| + | |||
| + | }} | ||
| + | }} | ||
| + | </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=== | ||
| + | *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> | ||
| + | </div> | ||
| + | <div class="slide"> | ||
| + | {{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> | ||
Última revisión de 06:32 20 sep 2018


