PHP Funcións para xerar código

De MediaWiki
Saltar a: navegación, buscar

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

  • Sintaxe: echo "Cadea a amosar";
Pódense empregar comiñas simples ou dobres indistintamente, aínda que xa veremos que poden ter 'efectos' diferentes posteriormente.


  • 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 !!!</h3>";
  21.  
  22. ?>
  23.     </body>    
  24. </html>

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.         print "Esto é unha cadea" . " e esta outra...";
  4.  
  5. ?>

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 enteiro con signo%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. ?>
Saída:
PHP Funcions XerarCodigo 01.jpg


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. ?>


Función vsprintf

  • Ten a mesma funcionalidade que sprintf, pero coa particularidade que podemos enviar o conxunto de parámetro en forma de array.
Por exemplo:
  1. <?php        
  2.     $param=['casa','verde'];
  3.     $resultado = vsprintf("Esta '%s' es de color %s",$param);
  4.     echo $resultado;
  5. ?>

Caracteres especiais dentro das funcións

  • Pode darse o caso que necesitedes poñer dentro dun echo, printf,...caracteres que sexa interpretados pola función e que polo tanto non se visualicen.
  • O clásico exemplo será poñer o caracter " dentro dunhas das funcións.
  • Cando necesitemos poñer o carácter " dentro dunha función, temos varias opcións (no exemplo está aplicado á función echo pero valería para o resto):
  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. ?>


  • O mesmo que o anterior, pero aplicado a outro carácter especial. Esta vez ao carácter % dentro da función printf/sprintf.
Neste caso en vez de amosar dito carácter a función o vai interpretar como se fose un parámetro. Para 'escapar' dito carácter debemos de escribir dous veces o '%' como se amosa a continuación:
  1. <?php        
  2.         printf("Quero amosar o %% e ademais paso un parámetro: %s","valor param");
  3. ?>






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