Diferencia entre revisiones de «PHP Sintaxe»
Ir a la navegación
Ir a la búsqueda
() |
|||
| (No se muestran 10 ediciones intermedias de 2 usuarios) | |||
| Línea 1: | Línea 1: | ||
| + | ==Sintaxe== | ||
| + | |||
* As páxinas que creamos en php deben ter algunha destas extensións: .php, .phtml, .php3, .php4, .php5, .php7, .phps | * As páxinas que creamos en php deben ter algunha destas extensións: .php, .phtml, .php3, .php4, .php5, .php7, .phps | ||
| − | * Normalmente teremos de extensión | + | * Normalmente teremos de extensión '''.php''' |
* Para engadir código PHP a unha páxina temos que escribir estas etiquetas dentro do código da páxina: | * Para engadir código PHP a unha páxina temos que escribir estas etiquetas dentro do código da páxina: | ||
| − | ::<syntaxhighlight lang=" | + | ::<syntaxhighlight lang="php" line enclose="div" highlight="1,5" > |
<?php | <?php | ||
| Línea 20: | Línea 22: | ||
* Se a páxina php soamente contén código php ou finaliza con código php, é preferible non engadir a etiqueta ?> ao final da páxina. | * Se a páxina php soamente contén código php ou finaliza con código php, é preferible non engadir a etiqueta ?> ao final da páxina. | ||
: Por exemplo: | : Por exemplo: | ||
| − | ::<syntaxhighlight lang=" | + | ::<syntaxhighlight lang="php" line enclose="div" highlight="" > |
<html> | <html> | ||
<head> | <head> | ||
| Línea 37: | Línea 39: | ||
* Calquera código que poñamos fora das etiquetas de inicio e fin do código PHP será ignorado polo intérprete de PHP e se tratará como código HTML. | * Calquera código que poñamos fora das etiquetas de inicio e fin do código PHP será ignorado polo intérprete de PHP e se tratará como código HTML. | ||
: Por exemplo: | : Por exemplo: | ||
| − | ::<syntaxhighlight lang=" | + | ::<syntaxhighlight lang="php" line enclose="div" highlight="" > |
<html> | <html> | ||
<head> | <head> | ||
| Línea 57: | Línea 59: | ||
| − | ::<syntaxhighlight lang=" | + | ::<syntaxhighlight lang="php" line enclose="div" highlight="5-7,10-12" > |
<html> | <html> | ||
<head> | <head> | ||
| Línea 75: | Línea 77: | ||
: E incluso dentro de liñas HTML: | : E incluso dentro de liñas HTML: | ||
| − | ::<syntaxhighlight lang=" | + | ::<syntaxhighlight lang="php" line enclose="div" highlight="11" > |
<html> | <html> | ||
<head> | <head> | ||
| Línea 95: | Línea 97: | ||
: <u>Nota:</u> Notar que sempre debemos deixar a lo menos un espazo en branco entre <?php e o inicio de código.... | : <u>Nota:</u> Notar que sempre debemos deixar a lo menos un espazo en branco entre <?php e o inicio de código.... | ||
| + | |||
| + | * En xeral, as liñas en PHP '''rematan con punto e coma'''. | ||
| + | |||
| + | * Podemos engadir sangrías, retornos de carro,...que o intérprete non os terá en conta. Polo tanto podemos dar un formato lexible ao código PHP. | ||
| + | |||
| + | '''Exemplo de boa programación:''' | ||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="9-16" > | ||
| + | <html> | ||
| + | <head> | ||
| + | <meta charset="UTF-8"> | ||
| + | <title></title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <?php | ||
| + | |||
| + | $valor = 6; | ||
| + | |||
| + | if ($valor>5) { | ||
| + | echo "Valor vale máis de 5..."; | ||
| + | } | ||
| + | else { | ||
| + | echo "Valor vale menos de 5..."; | ||
| + | } | ||
| + | |||
| + | ?> | ||
| + | </body> | ||
| + | </html> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | '''Exemplo de mala programación:''' | ||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="9-16" > | ||
| + | <html> | ||
| + | <head> | ||
| + | <meta charset="UTF-8"> | ||
| + | <title></title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <?php | ||
| + | |||
| + | $valor = 6; | ||
| + | |||
| + | if ($valor>5) { | ||
| + | echo "Valor vale máis de 5..."; | ||
| + | } | ||
| + | else { | ||
| + | echo "Valor vale menos de 5..."; | ||
| + | } | ||
| + | |||
| + | ?> | ||
| + | </body> | ||
| + | </html> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | * É importante ter en conta que se a páxina web cumpre un determinado estándar debemos asegurarnos que o código HTML que xeran as liñas PHP tamén deben cumprilo. | ||
| + | : Un sitio para validar páxinas web: https://validator.w3.org/#validate_by_uri+with_options | ||
| + | |||
| + | : Por exemplo: | ||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="" > | ||
| + | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
| + | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
| + | <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> | ||
| + | <head> | ||
| + | <meta charset="UTF-8"> | ||
| + | <title></title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <?php | ||
| + | |||
| + | echo "<h1 id=cabecera>Isto é unha cabeceira h1</h1>" | ||
| + | |||
| + | ?> | ||
| + | </body> | ||
| + | </html> | ||
| + | |||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | : Este código produce esta saída HTML: | ||
| + | |||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="6" > | ||
| + | <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> | ||
| + | <head> | ||
| + | <title></title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <h1 id=cabeceira>Isto é unha cabeceira h1</h1> | ||
| + | </body> | ||
| + | </html> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | : Se levamos este código á [https://validator.w3.org/#validate_by_input páxina de validación] veremos que non cumpre o stándard XHTML, xa que o id da etiqueta h1 non está entrecomillado. | ||
| + | |||
| + | |||
| + | <br /> | ||
| + | ==Comentarios== | ||
| + | |||
| + | * Podemos poñer comentarios de liña ou comentarios de bloque. | ||
| + | * En PHP é moi importante (como en todas as linguaxes de programación) comentar adecuadamente as variables e os bloques de código para ter un adecuado mantemento posterior. | ||
| + | |||
| + | : Exemplo de código: | ||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="2,4-6" > | ||
| + | <?php | ||
| + | $var = "Isto é unha variable de cadea"; // Isto é unha variable de cadea | ||
| + | |||
| + | /* Imos imprimir o valor dunha variable | ||
| + | O facemos para probar como vai :) | ||
| + | */ | ||
| + | echo $var; | ||
| + | ?> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | |||
| + | : Máis información no seguinte enlace: http://php.net/manual/es/language.basic-syntax.comments.php | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | <br /> | ||
| + | ==Detectar erros== | ||
| + | |||
| + | * Cando programedes en PHP e teñades algún error de sintaxe, o páxina pode quedar en branco e sen saber que é o que está a pasar. | ||
| + | : Se vos pasa iso ou se non sabedes onde está o erro, podedes: | ||
| + | :* Mirar o arquivo /var/log/apache2/error.log (ao final de todo) | ||
| + | :* Poñer temporalmente dentro da páxina php o seguinte código, arriba de todo: | ||
| + | |||
| + | ::<syntaxhighlight lang="php" enclose="div" highlight="" > | ||
| + | ini_set('display_errors', 1); | ||
| + | ini_set('display_startup_errors', 1); // Non debería ser necesario xa que amosa posibles erros de configuración no php.ini ou erros antes da execución do script, pero podemos poñelo por se acaso. | ||
| + | error_reporting(E_ALL); | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | :: <u>Unha vez atopades o erro, lembrar quitar dichas liñas da páxina.</u> | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| − | <br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- ( | + | <br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2023). |
Revisión actual del 09:43 8 dic 2023
Sintaxe
- As páxinas que creamos en php deben ter algunha destas extensións: .php, .phtml, .php3, .php4, .php5, .php7, .phps
- Normalmente teremos de extensión .php
- Para engadir código PHP a unha páxina temos que escribir estas etiquetas dentro do código da páxina:
1 <?php 2 3 // CODIGO PHP 4 5 ?>
Nota: É posible poñer as etiquetas <? ?> pero non recomendable. Para facelo teremos que modificar o arquivo php.ini como ven indicado neste enlace.
- Se a páxina php soamente contén código php ou finaliza con código php, é preferible non engadir a etiqueta ?> ao final da páxina.
- Por exemplo:
1 <html> 2 <head> 3 </head> 4 <body> 5 <?php 6 7 echo "ola"; 8 echo "</body></html>";
- Con isto evitamos engadir espazos en branco ou novas liñas non desexadas que poidan ir ao rematar o código php.
- Calquera código que poñamos fora das etiquetas de inicio e fin do código PHP será ignorado polo intérprete de PHP e se tratará como código HTML.
- Por exemplo:
1 <html> 2 <head> 3 </head> 4 <body> 5 <?php 6 7 echo "ola"; 8 9 ?> 10 <br/> 11 <h1>Este é unha cabeceira en html </h1> 12 </body> 13 </html>
- É posible ter varios bloques de código PHP dentro da mesma páxina,
1 <html> 2 <head> 3 </head> 4 <body> 5 <?php 6 echo "ola"; 7 ?> 8 <br/> 9 <h1>Este é unha cabeceira en html </h1> 10 <?php 11 echo "adeus"; 12 ?> 13 </body> 14 </html>
- E incluso dentro de liñas HTML:
1 <html> 2 <head> 3 <meta charset="UTF-8"> 4 <title></title> 5 </head> 6 <body> 7 <?php 8 echo "ola"; 9 ?> 10 <br/> 11 <h1>Este é unha cabeceira en html <?php echo "con php"; ?></h1> 12 13 </body> 14 15 </html>
- Nota: Notar que sempre debemos deixar a lo menos un espazo en branco entre <?php e o inicio de código....
- En xeral, as liñas en PHP rematan con punto e coma.
- Podemos engadir sangrías, retornos de carro,...que o intérprete non os terá en conta. Polo tanto podemos dar un formato lexible ao código PHP.
Exemplo de boa programación:
1 <html> 2 <head> 3 <meta charset="UTF-8"> 4 <title></title> 5 </head> 6 <body> 7 <?php 8 9 $valor = 6; 10 11 if ($valor>5) { 12 echo "Valor vale máis de 5..."; 13 } 14 else { 15 echo "Valor vale menos de 5..."; 16 } 17 18 ?> 19 </body> 20 </html>
Exemplo de mala programación:
1 <html> 2 <head> 3 <meta charset="UTF-8"> 4 <title></title> 5 </head> 6 <body> 7 <?php 8 9 $valor = 6; 10 11 if ($valor>5) { 12 echo "Valor vale máis de 5..."; 13 } 14 else { 15 echo "Valor vale menos de 5..."; 16 } 17 18 ?> 19 </body> 20 </html>
- É importante ter en conta que se a páxina web cumpre un determinado estándar debemos asegurarnos que o código HTML que xeran as liñas PHP tamén deben cumprilo.
- Un sitio para validar páxinas web: https://validator.w3.org/#validate_by_uri+with_options
- Por exemplo:
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></title> 7 </head> 8 <body> 9 <?php 10 11 echo "<h1 id=cabecera>Isto é unha cabeceira h1</h1>" 12 13 ?> 14 </body> 15 </html>
- Este código produce esta saída HTML:
1 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> 2 <head> 3 <title></title> 4 </head> 5 <body> 6 <h1 id=cabeceira>Isto é unha cabeceira h1</h1> 7 </body> 8 </html>
- Se levamos este código á páxina de validación veremos que non cumpre o stándard XHTML, xa que o id da etiqueta h1 non está entrecomillado.
Comentarios
- Podemos poñer comentarios de liña ou comentarios de bloque.
- En PHP é moi importante (como en todas as linguaxes de programación) comentar adecuadamente as variables e os bloques de código para ter un adecuado mantemento posterior.
- Exemplo de código:
1 <?php 2 $var = "Isto é unha variable de cadea"; // Isto é unha variable de cadea 3 4 /* Imos imprimir o valor dunha variable 5 O facemos para probar como vai :) 6 */ 7 echo $var; 8 ?>
- Máis información no seguinte enlace: http://php.net/manual/es/language.basic-syntax.comments.php
Detectar erros
- Cando programedes en PHP e teñades algún error de sintaxe, o páxina pode quedar en branco e sen saber que é o que está a pasar.
- Se vos pasa iso ou se non sabedes onde está o erro, podedes:
- Mirar o arquivo /var/log/apache2/error.log (ao final de todo)
- Poñer temporalmente dentro da páxina php o seguinte código, arriba de todo:
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); // Non debería ser necesario xa que amosa posibles erros de configuración no php.ini ou erros antes da execución do script, pero podemos poñelo por se acaso. error_reporting(E_ALL);
- Unha vez atopades o erro, lembrar quitar dichas liñas da páxina.
-- Ángel D. Fernández González -- (2023).