|
|
(Una revisión intermedia por el mismo usuario no mostrado) |
Línea 164: |
Línea 164: |
| <div class='slide'> | | <div class='slide'> |
| | | |
| + | <br /> |
| ===Dónde poner el código embebido=== | | ===Dónde poner el código embebido=== |
| <br/> | | <br/> |
Línea 172: |
Línea 173: |
| | | |
| <div class="slide"> | | <div class="slide"> |
− | <hr /> | + | <br /> |
| + | <hr /> |
| + | |
| *Donde queramos que se ejecute algo | | *Donde queramos que se ejecute algo |
| <hr/> | | <hr/> |
Línea 180: |
Línea 183: |
| {{MRM_Resumen|Title=Modelo vista controlador| | | {{MRM_Resumen|Title=Modelo vista controlador| |
| *Trata de separar el código según su cometido, de forma muy resumida | | *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 realizan cálculos y obtienen resultados ''(Controlador)'' |
− | *Hay acciones que lo que hacen es visualziar valores (Vista) | + | *Hay acciones que lo que hacen es visualziar valores ''(Vista)'' |
− | *Hay acciones que se encargan de interactuar con la base de datos (Modelo) | + | *Hay acciones que se encargan de interactuar con la base de datos ''(Modelo)'' |
| }} | | }} |
| {{MRM_Puntos clave|Title=Empecemos aplicar el modelo vista controlador| | | {{MRM_Puntos clave|Title=Empecemos aplicar el modelo vista controlador| |
Última revisión de 07:42 28 oct 2024
- Separando instrucciones
- Para separar una instrucción de otra usaremos ; (punto y coma)
- Su uso es obligatorio a excepción de la última instrucción que se puede obviar
- Esto es por que el fin de código php ?> implica esta instrucción
- Nosotros mejor lo usaremos siempre.
- La instrucción inicio de bloque y fin de bloque no lleva nunca ;
El ;
Si solo queremos insertar una instrucción puede suele obviarse el ;
<html>
......
<?php echo "hola" ?>
<!-- instrucciones html -->
<?php echo "otro hola" ?>
<!-- mas instrucciones html -->
<?php echo "otra instrucción " ?>
.....
</html>
|
El ;
También puede haber ;
<html>
......
<?php echo "hola" ;?>
<!-- instrucciones html -->
<?php echo "otro hola" ; ?>
<!-- mas instrucciones html -->
<?php echo "otra instrucción " ; ?>
.....
</html>
|
Probando código php
- Haz un programa que dónde incluyas código dentro del body
- Muestra con etiqueta h1, h2 y h3 tres frases
- Utiliza la función echo para visualizar
- Muestra en el título un texto escrito desde php
- Compara el fichero del servidor con el que recibe el cliente
Posible solución |
---|
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no,
initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?php echo "Este es un título desde php" ?></title>
</head>
<body>
<?php
echo "<h1>Mensaje en texto de h1</h1>";
echo "<h2>Mensaje en texto de h2</h2>";
echo "<h3>Mensaje en texto de h3</h3>";
?>
</body>
</html>
|
|
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
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
*/
?>
- Aquí tienes la referencia para ver las diferentes directivas para generar código
- Más adelante en el curso las veremos.
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;
|
Dónde poner el código embebido
Pregunta
Dónde escribir código php
Respuesta
Dónde queramos que se ejecute algo
|
|
- Donde queramos que se ejecute algo
- 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
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)
|
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>
?>
|
|
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.
- 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
|
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
|
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í";
?>
|
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');
|
- 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