Usuario:ManuelRomero/PHPBasico/instalaciones/Sintaxis básica
De WikiEducator
Saltar a: navegación, buscar
LENGUAJE PHP: SINTAXIS BÁSICA
Lenguajes de programación de propósito general
Sintaxis del leguaje php
Sintaxis | volver
_
Introducción
- PHP (acrónimo de PHP: Hypertext Preprocessor)
- es un lenguaje de código abierto
- muy popular (Podríamos pensar en un estándar?)
- especialmente adecuado para desarrollo web
- en desarrollos web
- Se ejecuta en el servidor web
- Es incrustrado en HTML.
- El cliente solo ve el resultado de la ejecución nunca el código
Como escribir PHP 1
- Dentro de páginas html
<?php instrucciones ?>
- Nosotros siempre usaremos este estilo para escribir código
- Lo podemos embeber en código html .... o no.
- Existen otros estilos menos usados para insertar código php, muchos implican modificar directivas de fichero de configuración
- Estilo asp
<% instrucciones %>
- Para ello hemos de tener habilitado la etiqueta de php.ini
asp_tags 1
- Estilo corto
<? instrucciones ?>
- Para ello hemos de tener habilitado la etiqueta de php.ini
short_open_tag 1
- Sintaxis para editores HTML
<SCRIPT LANGAGE="PHP"> instrucciones </SCRIPT>
- Guardamos el fichero con extensión .php
- Así sabemos que el interprete php tiene que ejecutar código
Como escribir PHP 2
- Al igual que en javascript podemos escrir en un fichero aparte el código php
- Posteriormente lo incluimos el fichero explícitamente
include('ruta/nobrefichero'); require('ruta/nobrefichero'); include_once('ruta/nombrefichero'); require_once('ruta/nombrefichero');
Planteando un lenguaje de programación
- Lexicos
- Son las palabras reservadas del lenguaje
http://php.net/manual/es/reserved.keywords.php
- Sintaxis
Reglas de construcción Son las ya conocidas, pero veremos como se construyen las expresiones
- Semántica
Habla del significado Estudiaremos alguna peculiaridad como el hecho de que php es un lenguaje muy orientado a expresiones
Instrucciones en un lenguaje de programación
- Inicio Fin de bloque
- Declaraciones (variables, constantes, funciones, clases, objetos, ...)
- Asignacion
- Instrución/función de leer del teclado, escribir por pantalla
- Invocación (llamada a función o método)
- Estructura de control (selectiva e iterativa)
- Separando instrucciones
- Para separar una instrucción de otra usaremos ; (punto y coma)
- Su uso es obligatorio a execepción de la última instrucción que se puede obviar
- Esto es por que el fin de código php ?> implica esta instrucción
- Nosotros lo usaremos siempre
- Instruccion de inicio fin de bloque
{ //Instrucción de inicio de bloque } //Instrucción de fin de bloque
Declaraciones
- De variables
- De constantes
(Luego veremos funciones, también se puede declarar clases y objetos)
- Debemos saber responder a la siguiente pregunta
Un tipo de dato es un conjunto de valores para los cuales hay definidos una serie de operaciones |
Una variable es una posición de memoria que va almacener algún valor de un determinado tipo, y cuyo contenido puede variar durante la ejecución de un programa |
- PHP
- Tipado dinámico'
- Una características semántica muy, muy importante de php
- Tipado dinámico
- Php no es estricto en el tipo de dato de una variable en cuanto que éste puede cambiar durante su vida.
- En este sentido php es un lenguaje de tipado dinámico, el tipo de la variable depende del valor que tiene en un momento dado o de los operadores que lo afecten.
- Definir variables
- En php una variable es definida la primera vez que se usa.
- El tipo de la variable depende del valor que tenga asignado en un momento dado
- El identificador de php tiene que empezar por el signo $
- En php las variables se prepresentan con el signo $ seguido de un carácter de subrayado o una letra y luego letras, números y caracteres de subrayado en cualquier orden y número.
- PHP y variables
|
- identificador de variables
{{Puntos clave|identificador = $[_|a.zA..Z][_|a..zA..Z0..9]*
<?php $miVariable= 8;/*Variable de tipo entero*/ edad = 5/*Error en el identificador*/ $5edad = 5 /*Error en el identificador */ ?>
- Sensitive case?
- El lenguaje es sensible a mayúsculas y minúsculas
- En los identificadores de variables ($edad != $Edad)
- En nombres de funciones $calculaEdad(1990) != $CalculaEdad(1990)
- No lo es en palabras reservadas (if o If o IF o iF,...)
Valores y tipos de datos
http://php.net/manual/es/language.types.intro.php
- En Php tenemos 8 tipos de datos
- En php tenemos
- 5 tipos básicos o primitibos (booleano, entero, real, string, NULL)
- 3 compuestos (array, objeto, recurso)
- tipos básicos
- entero integer
- Posible notación decimal/octal/hexadecimal
decimal [0..9]+ hexadecimal 0x[0..f]+ octal 0[0..7]+ binario 0b[01]+
- Todos ellos pueden ser positivos o negativos
**$Numero=10; *Octal **$NumeroOctal=067; *Hexadecimal **$NumeroHex=0cA56B;
- integer
- Al imprimirlos con print los veré con valor decimal
- Para verlos en otras base hay que usar printf o format o utilizar las conversiones dechex o dechex o octdec, .... que veremos a continuación
- cadena string
$frase="Esto es un literal de cadena de caracteres"
- real o coma flotante float
$valor=$0.2345; $valor=.54; $valor=7E-12;
- Booleano boolean
$estado=TRUE; $estado=TrUe; $estado=falsE;
- NULL
- un tipo especial que solo tiene ese valor
- Una variable tiene el valor null
- Si aún no se le ha asignado valor, o éste se ha destruido (unset()
- Si se le ha asignado explícitametne el valor NULL.
$a=NULL; $a=null;
- Tipos complejos
- Objetos básico en su aspecto de OOP
- Matrices o arrays muy muy utilizados
- Recursos este más que un tipo complejo es un tipo especial que hace referencia a un recurso externo referencia , como una conexión a una base de datos o como una referencia a un fichero pdf.
- Este tipo de variables las veremos más adelante
Comentarios
Son ignorados por el intérprete
<?php /* Este código no hace nada pero muestra la sintaxis de los comentarios como este que ocupa varias líneas tipo lenguaje C o Java */ $miVariable= 8;// Esta parte de la línea se ignorará $miVariable+= 8;# y esta parte de línea tambien echo "Valor de la variable $miVariable"; //Este es otro comentario de una sola línea #Este es otro modo de hacer comentarios tipo script de linux ?>
- Este código nos visualizará
Valor de la variable 16
</source>
Separación de instrucciones
- En php cada instrucción se separa de otra con ; (punto y coma).
- El cierre de etiqueta php implica un ; (punto y coma), por lo que podríamos no ponerlo
<?php $a=5; $echo'la instruccion de arriba es una y esta otra"; $echo'esta instrucción puede no llevar ; por ir antes de fin de etiqueta php, pero mejor ponerla" ?>
Valor de variable
- A una variable le puedo asignar un valor en cualquier momento
- El tipo de la variable depende del valor que tiene
- Hay una serie de funciones del sistema relacionadas con los valores y las variables
Funciones de php de tipos y valores
http://php.net/manual/es/ref.var.php
- Existen una serie de funciones que son interesantes de conocer
- Están relacionadas con los tipos de datos y valores
- Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
- A continuación trataremos alguna de ellas
void var_dump($expresion)
- Nos da información sobre la estructura de un valor resultado de una expresion
bool isset ( $variable )
- verifica que una variable tiene valor (está definida y no tiene un valor null)
<?php $VariableValor= 5; print ("El valor de la variable es $VariableValor"); print ("El valor de otra variable es $OtraVariableValor"); if (isset($VariableValor)) print ("VariableValor tiene valor asignado"); else print ("VariableValor no no tiene valor asignado"); if (isset($OtraVariableValor)) print ("OtraVariableValor tiene valor asignado"); else print ("OtraVariableValor no no tiene valor asignado"); ?>
bool empty ($varriable)
- Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
- son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos
- Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
string is_int($variable); string is_double($variable); string is_bool($variable); string is_integer($variable); string is_null($variable); string is_string($variable); ...
$a=5;
Cadenas
- En php las cadenas de caracteres, son expresiones literales
- Tenemos 4 maneras diferentes de poder expresar una cadena de caracteres como un literal
- Comillas dobles ""
- Comillas sencillas ''
- Sintasix heredoc
- Sintaxis nowdoc
- Comillas dobles
- En ellas se interpretan los caracteres especiales
- $ seguido de un nombre, interpreta que es una variable y toma su valor (null si no tiene valor o no está definida
- \ es un caracter de secuencia de escape, e interpreta que el carácter siguiente tiene un significado especial \\ \a \n \r \t , ...
- Si queremos que se ignore un carácter especial, éste ha de ir precedido por el caracter \
$nombre = 'pedro'; echo "El valor de la variable \$nombre es $nombre";
- El resultado sería
El valor de la variable $nombre es pedro
- Comillas simples
- En ellas solo se interpreta el carácter, seguido de \ o bien seguido de la barra invertida \\ comilla simple \'
- El resto de caracteres no se interpretan
$nombre = 'pedro'; echo 'El valor de la variable $nombre es $nombre y \\ \'texto\' si que se ve entre comillas simples';
- La salida sería
El valor de la variable $nombre es $nombre y \ 'texto' si que se ve entre comillas simples';
- Heredoc
- Este tipo de expresión de string es útil para especificar cadenas largas en multilíneas
- Se comporta como un string entre comillas dobles para el tema de interpretar y escapar ciertos caracterres
- Se establece con el operador <<<
- A continuación viene un identificador
- Después empieza a especificarse la cadena de caracteres
- Para finalizarla se escribe en una nueva línea el identificador
<?php $frase = <<<FINAL Esta es una cadena de caracteres que se asignará a la variable frase y termina con la palabra con la que hemos empezado FINAL; <?
- La palabra final no debe tener ningún espacio ni tabulador antes
- NewDoc
- Es igual que heredoc , pero sin interpretar los caracteres especiales salvo \\ \.
- O sea que es como un entrecomillado sencillo
- La sintasix es igual que la de heredoc, pero a diferencia el delimitador que se especifica al principio debe de ir entrecomillado con comillas simples
<?php $nombre=pedro; $frase = <<<'FINAL' El valor de $nombre es $nombre, pero aquí no lo veo por que es newdoc FINAL;
Funciones de salida
- Construcciones básicas para salida de caracteres
- No son funciones (con o sin paréntesis) son echo' print
echo
- Es el uso más sencillo
- Imprime una cadena como argumentos
- En la versión sin paréntesis también puedes pasar una lista de argumentos.
<?php
- Echo “primer argumento”, “segundo argumento”, “tercer argumeto”
?>
Tiene dos diferencias con echo
- Sólo puede aceptar un argumento
- Devuelve un valor que representa si la sentencia ha tenido o no éxito
- Para las siguientes actividades debes conocer las estructuras de control básicas.
Constantes
- Se definen con la funcion define()
define("IVA",0.21); $total=$base*(1+IVA);
- identificador
- Se usa el mismo criterio de construcción pero no empieza por $
- Se pueden definir y utilizar en cualquier momento que se necesiten.
- Para saber si una constante está definida defined()
Constantes predefinidas
- Como en otros lenguajes, existen una serie de constantes predefinidas
- Nos las ofrece el entorno y dependerán de él para su valor
- PHP Ofrece un gran número de constantes predefinidas http://php.net/manual/es/reserved.constants.php
- En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan
constantes predefinidas en php
Ambito de una variable
- http://php.net/manual/es/language.variables.scope.php
- Ya sabemos que en PHP puedes utilizar variables en cualquier lugar de un programa.
- Si esa variable aún no existe, la primera vez que se utiliza se reserva espacio para ella.
- En ese momento, dependiendo del lugar del código en que aparezca, se decide desde qué partes del programa se podrá utilizar esa variable.
- A esto se le llama visibilidad de la variable.
- Ambito de una variable
- En función de esto tenemos variables locales a la función y variables locales al script
$a = 1; function prueba() { // Dentro de la función no se tiene acceso a la variable $a anterior $b = $a; // Por tanto, la variable $a usada en la asignación anterior es una variable nueva // que no tiene valor asignado (su valor es null) }
- Ambito de una variable
- Para poder hacer dentro de una función a una variable definida fuera, he de usar la palabra reservada global
$a = 1; function prueba() { global $a; $b = $a; // En este caso se le asigna a $b el valor 1 }
Variables static
- Si una variable la declaramos static, hacemos que su posición de memoria no se elimine aunque no sea accesible por el script
- Cuando volvamos a una sección del script donde vuelve a ser accesible, entonces retomaremos esa posicion de memoria, con el valor que tuviera
function contador() { static $a=0; $a++; // Cada vez que se ejecuta la función, se incrementa el valor de $a }
</div>
- static
- Las variables estáticas deben inicializarse en la misma sentencia en que se declaran como estáticas. De esta forma, se inicializan sólo la primera vez que se llama a la función.