Diferencia entre revisiones de «PHP Funcións para xerar código»
Ir a la navegación
Ir a la búsqueda
Línea 112: | Línea 112: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === Función vsprintf === | ||
+ | |||
+ | * Máis información [http://php.net/manual/es/function.vsprintf.php neste enlace]. | ||
+ | |||
+ | * Ten a mesma funcionalidade que sprintf, pero coa particularidade que podemos enviar o conxunto de parámetro en forma de array. | ||
+ | |||
+ | : Por exemplo: | ||
+ | ::<syntaxhighlight lang="php" line enclose="div" highlight="" > | ||
+ | <?php | ||
+ | $param=['casa','verde']; | ||
+ | $resultado = vsprintf("Esta '%s' es de color %s",$param); | ||
+ | echo $resultado; | ||
+ | ?> | ||
+ | </syntaxhighlight> | ||
== Caracteres especiais dentro das funcións == | == Caracteres especiais dentro das funcións == |
Revisión del 16:26 27 abr 2017
Sumario
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.
- Enlaces de interese: Cadea de caracteres.
- 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
- Tamén produce unha saída pero permite establecer un formato dentro da cadea que amosa.
- Máis información: http://php.net/manual/es/function.sprintf.php
- 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:
- 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
- Máis información neste enlace.
- 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).