Plantilla:PHP/MasSintaxis
De WikiEducator
Revisión a fecha de 09:54 22 oct 2018; ManuelRomero (Discusión | contribuciones)
Saltar a: navegación, buscar
- 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 ;
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> |
También puede haber ;
<html> ...... <?php echo "hola" ;?> <!-- instrucciones html --> <?php echo "otro hola" ; ?> <!-- mas instrucciones html --> <?php echo "otra instrucción " ; ?> ..... </html> |
|
Contenido
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 */ ?>
- Aquí tienes la referencia para ver las diferentes directivas para generar código
- Más adelante en el curso las veremos.
|
function miFuncion($num1, $num2){ if ($num1>$num2) return $num1; else return $num2; Ahora justo en la línea de encima de función escribe /**
/** * * @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
- 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
|
|
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.
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í"; ?>
|
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
Funciones propias de php sobre tipos y valores
http://php.net/manual/es/ref.var.php
- Existen una serie (muchas) de funciones que son interesantes de conocer
- Estas funciones ya están creadas y se pueden usar directamente
- Están relacionadas con los tipos de datos y valores
- Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
- A continuación trataremos alguna de ellas
void var_dump($expresion)
- Nos da información sobre la estructura de un valor resultado de una expresion
bool isset ( $variable )
- verifica que una variable tiene valor (está definida y no tiene un valor null)
<?php $VariableValor= 5; print ("El valor de la variable es $VariableValor"); print ("El valor de otra variable es $OtraVariableValor"); if (isset($VariableValor)) print ("VariableValor tiene valor asignado"); else print ("VariableValor no no tiene valor asignado"); if (isset($OtraVariableValor)) print ("OtraVariableValor tiene valor asignado"); else print ("OtraVariableValor no no tiene valor asignado"); ?>
Funciones para determinar existencia de variables
Tenemos tres funciones muy parecidas pero no del todo iguales
Función | Significado |
---|---|
is_null($variable) | Determina si una variable ($variable) tiene valor null |
empty($variable) | Determina si una variable ($variables)está vacía |
isset($variable) | Determina is una variable ha sido definida y no tiene un valor vacío. |
- Es importante saber qué es para php un valor nulo, o si está vacía que no son conceptos sinónimos
- Valor null
$a=null //$a tiene valor null. is_null($a) //true unset($a) //Se destruye la variable y toma el valor null is_null($a) //true //$b una variable que no existe tiene el valor null is_null($b) //true
- Variable vacía
$a=null //$a está vacía empty($a) //true $a=""; empty($a) //true $a="hola"; empty($a) //false unset($a); empty($a) //true $a=false; empty($a) //true !OJO! $a=0; empty($a) //true !OJO!
- Puedes ver la siguiente app en la que puedes aportar valores
http://manuel.infenlaces.com/apuntes/existencia_valor_variables
- Tener en cuenta que si evaluamos si una variable está vacía no es
bool empty ($varriable)
- Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
- son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos
- Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
string is_int($variable); string is_double($variable); string is_bool($variable); string is_integer($variable); string is_null($variable); string is_string($variable); ...
$a=5;