Diferencia entre revisiones de «PHP Sintaxe»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Página creada con « <br> -- Ángel D. Fernández González -- (2016).»)
 
()
 
(No se muestran 14 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
  
 +
* Normalmente teremos de extensión '''.php'''
  
  
−
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2016).
+
* Para engadir código PHP a unha páxina temos que escribir estas etiquetas dentro do código da páxina:
 +
 
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="1,5" >
 +
<?php
 +
 
 +
// CODIGO PHP
 +
 
 +
?>
 +
</syntaxhighlight>
 +
 
 +
 
 +
<u>Nota:</u> É posible poñer as etiquetas <?  ?> pero non recomendable. Para facelo teremos que modificar o arquivo php.ini como ven indicado [http://php.net/manual/es/language.basic-syntax.phptags.php 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:
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="" >
 +
<html>
 +
<head>
 +
</head>
 +
<body>
 +
<?php
 +
 
 +
  echo "ola";
 +
  echo "</body></html>";
 +
 
 +
</syntaxhighlight>
 +
 
 +
: 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:
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="" >
 +
<html>
 +
<head>
 +
</head>
 +
<body>
 +
<?php
 +
 
 +
  echo "ola";
 +
 
 +
?>
 +
<br/>
 +
<h1>Este é unha cabeceira en html </h1>
 +
</body>
 +
</html>
 +
</syntaxhighlight>
 +
 
 +
 
 +
* É posible ter varios bloques de código PHP dentro da mesma páxina,
 +
 
 +
 
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="5-7,10-12" >
 +
<html>
 +
<head>
 +
</head>
 +
<body>
 +
<?php
 +
  echo "ola";
 +
?>
 +
<br/>
 +
<h1>Este é unha cabeceira en html </h1>
 +
<?php
 +
  echo "adeus";
 +
?>
 +
</body>
 +
</html>
 +
</syntaxhighlight>
 +
 
 +
: E incluso dentro de liñas HTML:
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="11" >
 +
<html>
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title></title>
 +
    </head>
 +
    <body>
 +
<?php
 +
  echo "ola";
 +
?>
 +
  <br/>
 +
  <h1>Este é unha cabeceira en html <?php echo "con php"; ?></h1>
 +
 
 +
    </body>
 +
   
 +
</html>
 +
</syntaxhighlight>
 +
 
 +
 
 +
: <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]] -- (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).