# Lección 2: Sintaxis básica

## Conceptos teóricos

###

### Etiquetas para incluir PHP en HTML

- <? .... ?>
- <?php .... ?>
- <script lenguaje="php"> .... </script>

### Comentarios

Los comentarios en PHP pueden ser:

- /*...*/ ó //.

Las instrucciones se separan con ;

### Variables

Cualquier nombre de variable está precedido por el símbolo $.

        $a = 3 ; // Asignamos el valor 3 a la variable a

###

### Tipos de Datos

El intérprete de PHP asigna el tipo de una variable según el uso que se esté haciendo de ella. Los tipos son:

- Enteros
- Flotantes
- String
- Arrays
- Objetos

### String

Las cadenas pueden estar delimitadas por comillas simples o dobles. Si la cadena está delimitada por comillas dobles, cualquier variable incluida dentro de ella será sustituida por su valor.

El operador para concatenar cadenas es el .

### Arrays

Los Arrays en PHP pueden ser indexados o asociativos. En el caso de que no se especifique el indice en un array, el elemento que se asigna se añade al final.

$a[]=array("Juan","pepe","pedro") // crea un array de tres elementos a los que podremos acceder mediante $a[x].

$a=array("nombre" => "pepe", "apellido" => "perez") // crea un array asociativo de dos elementos a los que accederemos //por $a[nombre] o $a[apellido]

### Objetos

PHP permite el manejo de objetos, aunque no es objetivo de este manual profundizar en ello veamos un ejemplo de como se utilizan.

    		class prueba
    		{
     		   function impxxx()
     		   {
     		       echo "xxx";
     		   }
    		}

    		$a = new prueba;
    		$a->impxxx();

### Variables externas a PHP

Cuando se envía un formulario a un script PHP, las variables de dicho formulario pasan a estar automáticamente disponibles en el script en el script de destino en forma de array asociativo.

Veamos con un ejemplo como podemos acceder a sus valores.

      Supongamos que enviamos el siguiente formulario.

      <form action="prueba.php" method="POST">
        Nombre:  <input type="text" name="nombre"><br>
        Apellido: <input type="text" name="apellido"><br>
        <input type="submit" name="submit" value="Enviar">
      </form>

      Podríamos capturar los datos de las siguiente forma

       echo $_POST['nombre']; //Con la función echo o print escribimos en la web salida
       echo $_REQUEST['nombre'];
       echo $HTTP_POST_VARS['apellido'];
       print $apellido; //Si registerglobals = on , no aconsejable

Ademas tambión hay otros arrays como $HTTP_SERVER_VARS[] y otros que veremos más adelante.

### Constantes

Las constantes en PHP tienen que ser definidas por la función define() .

    		define("miconstante", "saludos");
    		echo miconstante;

Además, existen una serie de variables predefinidas:

- _FILE_: Fichero que se está procesando
- _LINE_: Línea del fichero que se está procesando
- _PHP_VERSION: Versión de PHP
- PHP_OS: Sistema operativo del cliente
- TRUE: Verdadero
- FALSE: Falso

### Variables predefinidas

En PHP cada vez que se ejecuta un script, existen variables que se crean y aportan informaciónsobre el entorno en el que se está ejecutando dicho script, podemos verlas ejecutando la función phpinfo().

- SERVER_NAME
- SERVER_SOFTWARE
- QUERY_STRING
- DOCUMENT_ROOT
- HTTP_ACCEPT_CHARSET
- HTTP_ENCODING
- HTTP_ACCEPT_LANGUAJE
- HTTP_HOST
- HTTP_REFERER
- HTTP_USER_AGENT
- REMOTE_PORT
- SCRIPT_FILENAME
- SERVER_ADMIN
- SERVER_PORT
- SERVER_SIGNATURE
- SCRIPT_NAME
- REQUEST_URL

las variables creadas por el propio PHP son:

- PHP_SELF
- HTTP_COOKIE_VARS
- HTTP_GET_VARS
- HTTP_POST_VARS

###

### Expresiones y operadores

En PHP una expresión es cualquier cosa que pueda contener un valor. Las expresiones más simples son las variables y las constantes y otras más complicadas serán las funciones, puesto que cada función devuelve un valor al ser invocada, es decir, contiene un valor, por lo tanto, es una expresión.
Todas las expresiones en PHP son exactamente igual que en C. Los operadors abreviados, los incrementos, etc, son exactamente iguales. Incluso existen otros operadores adicionales como el operador "." que concatena valores de variables, o el operador "===" denominado operador de identidad que devolverá verdadero si las expresiones a ambos lados del operador contienen el mismo valor y a la vez son del mismo tipo.

La tabla que nos puede resumir la precedencia de cada uno de los operadores es:

Operadores
,
or
xor
and
print
= += -* *= /= .= %= &= |= ^= ~= <<= >>=
?:
&&
== != ===
< <= > >=
>> <<
+ - .
* / %
! ~ ++ -- (int) (double) (string) (array) (0bject) @
[
new

## Ejemplos

Como hemos visto la funcón echo sirve para escribir la web que se le va a enviar al cliente y por tanto a travé de ella y de la función print debemos escribir toda la web tanto etiquetas como contenido.

    echo "<b> mi primer escript en negrita </b>"
    echo "<br />"
    echo "Esta es la segunda línea del script de salida.

    Ver script en ejecución

## Ejercicios

### Ejercicio1:

Escribe un script que almacene tu nombre y apellido en una variable y luego muestre el contenido de las mismas.

### Ejercicio2:

Escribe un script en el que se cree un array asociativo cuyo indice sean los dias de la semana, después muestra el contenido del elemento miercoles.

### Ejercicio3:

Escribe un script en el que se escriba la tabla de multiplicar del 7 sin utilizar bucles.

### Ejercicio4:

Escribe un formulario HTML con campos de diferente tipo, envia este formulario a un script PHP que muestre los valores de cada una da las variables generadas de forma ordenada.

### Ejercicio5 (de ampliación):

Hemos visto como mostrar información con echo y print. Pero estas funciones no sirven para mostar información con formato, para ello podemos utilizar las funciones printf y sprintf. Busca en el manual oficial información sobre como se utilizan y prueba algunos de sus parametros

INDICE DE LECCIONES

Introducción

Sintaxis básica

Estructuras de Control

Funciones de usuario

Acceso a BB.DD

Cookies

Sesiones

Otras funciones

ENLACES DE INTERES

web oficial de PHP

web oficial de Apache

web oficial de w3c

desarrollo web