PHP Funcións para xerar código. Constantes e variables

De MediaWiki
Ir a la navegación Ir a la búsqueda

Funcións para xerar código

  • NOTA: Esta sección está asociada á realización do EXERCICIO 1.


  • Como comentamos anteriormente, normalmente imos ter código PHP dentro de código HTML. A execución do código PHP dará como resultado un código HTML que se integrará có resto do código.
  • Para que PHP 'envío' cadeas que serán interpretadas polo navegador do cliente necesitamos utilizar as seguintes funcións.

Función echo

  • O resultado de poñer esta liña será unha cadea que será visualizada polo navegador do cliente que fixo a petición.
  • Exemplos:
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 3 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
 4     <head>
 5         <meta charset="utf-8" />
 6         <title>Exemplos de códigos php</title>
 7     </head>
 8     <body>
 9 <?php
10     echo "Unha cadea";
11     echo "<br />";
12     echo "Outra cadea";
13     
14     echo "Podemos poñer todo xunto. <br /> Non temos por que usar echos diferentes...<br/>";
15     
16     echo "Neste caso " . "concatenamos dúas cadeas.<br/>";
17     echo 'Outra' ,' forma ', 'de concatenar....';
18     
19     echo "<h5> Podemos poñer calqueira código HTML que será visualizado polo navegador</h5>"
20     . "<h3>Asegurarse que se cumpre o estándar correspondente !!!";
21 
22 ?>
23     </body>    
24 </html>


  • Cando necesitemos poñer o carácter " dentro dun echo, temos varias opcións:
1 <?php        
2         echo "Esta cadea \" está entrecomillada\" dentro dun echo...<br/>";
3         echo 'Outra forma "de entrecomillar" sería utilizando as comillas \'\'';
4 ?>
Como vemos o carácter escape é o carácter '\'.
Hai unha diferenza entre utilizar as comillas simples ou as dobres. O veremos claramente cando vexamos as variables. De todas formas un exemplo:
1 <?php        
2         echo 'Isto non se expandirá: \n unha nova liña';
3         echo "Isto se expandirá: \n unha nova liña";
4 ?>

Función print

  • Ten o mesmo efecto que a función echo pero...
  • print imprime unha cadea; echo pode imprimir máis dunha separadas por coma.
  • print devolve un valor int que sempre ten valor 1 e polo tanto pode ser empregado dentro dunha expresión.
  • echo pode ser un pouco máis rápido que print.
Exemplos de código:
1 <?php        
2         print "Esto é unha cadea impresa con print...";
3 ?>

Función printf

  • Por defecto, se printf non leva argumentos produce a mesma saída que echo e print.
Así, por exemplo:
1 <?php        
2         printf ("Esto é unha cadea impresa con printf...");
3 ?>
  • A principal vantaxe é que podemos engadir parámetros que será substituídos na cadea cun determinado formato.
Por exemplo:
1 <?php        
2     printf ("Isto é un número decimal %d<br/>",3.14);
3     printf ("Isto é un número flotante %f<br/>",3.14);
4     printf ("Isto é unha cadea %s</br>",3.14);
5     
6 ?>
Tamén está moi ben cando temos varias variables e non queremos estar concatenando una detrás doutra, ou que estean en metade da cadea....
1 <?php        
2 
3     printf("Esta '%s' terá varios parámetros coma este número: %d","cadea",10000);
4         
5 ?>


Función sprintf

  • Ten a mesma sintaxe que a función printf, pero coa diferenza que o resultado vai ser gardado nunha variable (veremos as variables no seguinte punto).
Por exemplo:
1 <?php        
2     $resultado = sprintf("Esta '%s' terá varios parámetros coma este número: %d","cadea",10000);
3     echo $resultado;
4 ?>

Constantes

  • As constantes son valores que normalmente se definen ao comezo do código e cuxo valor non varía ao longo do programa.
  • Soen identificar por medio de letras maiúsculas.
  • Os nomes das constantes poden empezar cunha letra ou guión baixo pero non poden empezar cun número.
  • Distingue maiúsculas de minúsculas no seu nome.
 1 <?php   
 2 
 3     define('MEUNOME','Angel Fernández');
 4     echo "<p>Aquí poño o menu " . MEUNOME;
 5    
 6 ?>        
 7         <p> Outro párrafo....</p>
 8 <?php
 9     printf("Ola. Sigo sendo %s. Poido seguir referenciando a constante ao longo de toda a páxina.",MEUNOME);
10 ?>

Variables

  • A diferenza das constantes, as variables poden cambiar o seu valor ao longo do programa.
  • Non é necesario definilas nin declaralas.
  • Distinguen maiúsculas de minúsculas no seu nome. '$var' é unha variable e '$Var' é outra variable diferente.
  • A primeira letra do nome dunha variable debe ser un guión baixa ou unha letra. Non pode ser un número.
  • Identifícanse por medio do símbolo $.

Nota: A pesares de que non é obrigatorio declaralas, eu aconsello establecer un valor ao comenzo da páxina e comentar o seu propósito, xa que pode suceder que utilicemos unha variable e despois cambiemos algunha letra da mesma, pasando a manexar outra variable diferente. Desta forma podemos ter una referencia ao nome da variable.

Exemplo de código:
1 <?php   
2     $varCadea="Isto é un variable de cadea";
3     $varNumero=50;
4 
5     echo $varCadea . "<br />";
6     echo $varNumero . "<br />";
7 
8 ?>
  • PHP é unha linguaxe debilmente tipada. Quero isto dicir que as variables non se definen de ningún tipo, se non que o tipo vai depender do contido da variable.
Así, por exemplo, vou asinar a mesma variable diferentes tipos de datos e funcionará igualmente.
 1 <?php   
 2 
 3     $varTipos=5;
 4     echo $varTipos . "<br />";
 5     $varTipos='Cadea';
 6     echo $varTipos . "<br />";
 7     $varTipos=3.15454;
 8     echo $varTipos . "<br />";
 9     $varTipos=true;
10     echo $varTipos . "<br />";
11 ?>


  • Dependendo do contido que teñan, as variables poden ser dun destes tipos escalares:
  • integer: Os integers, ou enteiros, poden ter distintos valores numéricos enteiros que se expresan con diferentes notacións.
  • $variable = 18; // Número entero positivo
  • $variable = -18; // Número entero negativo
  • $variable = 0x12; // Notación hexadecimal, en principio no la utilizaremos
  • float ou double: Este tipo de datos son os números de punto flotante aos que normalmente chamamos números decimais, por exemplo, 9.876. Ambos teñen moita precisión, pero double é o máis preciso (con máis decimais). A sintaxe para utilizalos é bastante simple:
  • $variable = 9.876;
  • string: O tipo de datos string, tamén coñecido como cadea de caracteres, exprésase coa seguinte sintaxe:
  • $variable = "Isto é unha cadea";
  • boolean: Trátase dun tipo lóxico. Os seus posibles valores son true (verdadeiro) ou false (falso).
  • $variable = true;
  • $variable = false;



Existen máis tipos como podemos ver no seguinte enlace: http://php.net/manual/es/language.types.intro.php


Variables dentro das funcións que xeran código

  • Anteriormente contamos que había unha diferenza entre utilizar comillas dobres ou simples na función echo.
Vexamos agora esta diferenza no uso de variables.
  • Se usamos unha variable dentro da función echo:
  • Con comillas dobres, a variable será substituída polo seu valor. Se expande.
  • Con comillas simples, xerará a cadea $variable.
Por exemplo:
1 <?php   
2     $var = "Isto é unha variable de cadea";
3     
4     echo "A variable var con \" vale: $var<br/>";
5     echo 'A variable var con \' vale: $var<br />';
6 ?>
Dará como resultado:
1 A variable var con " vale: Isto é unha variable de cadea
2 A variable var con ' vale: $var









-- Ángel D. Fernández González -- (2016).