Diferencia entre revisiones de «Usuario:ManuelRomero/php/introduccion»
De WikiEducator
< Usuario:ManuelRomero | php
Línea 69: | Línea 69: | ||
<div class="slide"> | <div class="slide"> | ||
*Donde queramos que se ejecute algo | *Donde queramos que se ejecute algo | ||
+ | <hr/> | ||
[[Imagen:codigoPHP.png|center|900px]] | [[Imagen:codigoPHP.png|center|900px]] | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | |||
===Como escribir PHP 2=== | ===Como escribir PHP 2=== | ||
− | * | + | *Escribiendolo en un fichero aparte |
− | *incluimos el fichero explícitamente | + | **incluimos el fichero explícitamente |
− | + | <sourece lang=php> | |
− | + | include('ruta/nobrefichero'); | |
− | + | require('ruta/nobrefichero'); | |
− | + | include_once('ruta/nombrefichero'); | |
+ | require_once('ruta/nombrefichero'); | ||
+ | </source> | ||
</div> | </div> | ||
Línea 91: | Línea 93: | ||
</div> | </div> | ||
− | + | ===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''''' | ||
+ | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | = | + | ===Instrucciones en un lenguaje de programacion=== |
+ | ;Inicio Fin de bloque | ||
+ | ;Declaraciones (variables, constantes, funciones, clases, objetos, ...) | ||
+ | ;Asignacion | ||
+ | ;Instrucion/funcion de leer del teclado, escribir por pantalla | ||
+ | ;Invocación (llamada a función o método) | ||
+ | ;Estructura de control (selectiva, iterativa) | ||
</div> | </div> | ||
+ | <div class="slide"> | ||
+ | ;Separando instrucciones | ||
+ | *Para separar una instrucción de otra usaremos ''''';''''' | ||
+ | *Su uso es obligatorio a execepción de la última instrucción que se puede obviar | ||
+ | *Nosotros lo usaremos siempre | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Instruccion de inicio fin de bloque=== | ||
+ | <source lang = php> | ||
+ | { //Instrucción de inicio de bloque | ||
+ | } //Instrucción de fin de bloque | ||
+ | </source> | ||
+ | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ===Declaraciones==== | |
+ | *De variables, constantes | ||
+ | (Luego veremos funciones y en otro tema clases y objetos) | ||
{{Pregunta| | {{Pregunta| | ||
* Qué es un '''''tipo de dato''''' | * Qué es un '''''tipo de dato''''' | ||
Línea 117: | Línea 150: | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
;PHP: Tipado dinámico | ;PHP: Tipado dinámico | ||
+ | *Una características semántica muy muy importante de php | ||
+ | {{Puntos clave|PHP es un lenguaje fuertemente tipado}} | ||
*Los lenguajes de programación pueden ser mas o menos exigentes en cuanto a la declaración de los tipos de las variables para poder ser usados durante la ejecución de un programa. | *Los lenguajes de programación pueden ser mas o menos exigentes en cuanto a la declaración de los tipos de las variables para poder ser usados durante la ejecución de un programa. | ||
− | *Lenguajes fuertemente tipos o débilmente tipados | + | *Lenguajes fuertemente tipos o débilmente tipados |
− | *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. | + | *Esto tiene que ver con el hecho de que cada variable en un momento dado tiene un tipo, y lo podemos saber |
+ | *Esto ocurre en php | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;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. | ||
+ | {{Puntos clave|PHP es un lenguaje de tipado dinámico}} | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ;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 variablas se prepresentas con el signo '''''$''''' seguido de un caracter de subrayado o una letra y luego letras, números y caracteres de subrayado en cualquier orden y número. | *En php las variablas se prepresentas con el signo '''''$''''' seguido de un caracter de subrayado o una letra y luego letras, números y caracteres de subrayado en cualquier orden y número. | ||
+ | |||
</div> | </div> | ||
Línea 132: | Línea 178: | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
;identificador de variables | ;identificador de variables | ||
− | {{Puntos clave|$ | + | {{Puntos clave|identificador = $[_|a.zA..Z][_|a..zA..Z0..9]* |
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 146: | Línea 192: | ||
*El lenguaje es sensible a mayúsculas y minúsculas | *El lenguaje es sensible a mayúsculas y minúsculas | ||
− | **En los identificadores de variables | + | **En los identificadores de variables ($edad != $Edad) |
− | **No lo es en nombres de funciones | + | **No lo es en nombres de funciones $calculaEdad(1990) != $CalculaEdad(1990) |
− | **No lo es en palabras reservadas (if | + | **No lo es en palabras reservadas (if o If o IF o iF,...) |
</div> | </div> | ||
Línea 154: | Línea 200: | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
===Valores y tipos de datos=== | ===Valores y tipos de datos=== | ||
+ | http://php.net/manual/es/language.types.intro.php | ||
*En Php tenemos 8 tipos de datos | *En Php tenemos 8 tipos de datos | ||
*En php tenemos | *En php tenemos | ||
Línea 186: | Línea 233: | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
*Al imprimirlos con print los veré con valor decimal | *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 | + | *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 |
− | + | ||
</div> | </div> | ||
Línea 267: | Línea 313: | ||
?> | ?> | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
Línea 273: | Línea 321: | ||
Valor de la variable 16 | Valor de la variable 16 | ||
</div> | </div> | ||
+ | |||
+ | <div class="slide"> | ||
{{Actividad| | {{Actividad| | ||
*Probamos a hacer programas sencillos donde asignamos y visualizamos valores | *Probamos a hacer programas sencillos donde asignamos y visualizamos valores | ||
Línea 282: | Línea 332: | ||
}} | }} | ||
</div> | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
===Valor de variable=== | ===Valor de variable=== | ||
Línea 291: | Línea 342: | ||
<div class="slide"> | <div class="slide"> | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
− | |||
====Funciones de php de tipos y valores==== | ====Funciones de php de tipos y valores==== | ||
*Existen una serie de funciones que son interesantes de conocer | *Existen una serie de funciones que son interesantes de conocer | ||
Línea 395: | Línea 445: | ||
</source> | </source> | ||
</div> | </div> | ||
− | |||
+ | <div class="slide"> | ||
{{Actividad| | {{Actividad| | ||
Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión}} | Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión}} | ||
Línea 402: | Línea 452: | ||
$a=5; | $a=5; | ||
</source> | </source> | ||
− | |||
</div> | </div> | ||
Línea 412: | Línea 461: | ||
void unset ($var) | void unset ($var) | ||
</div> | </div> | ||
− | |||
+ | <div class="slide"> | ||
=== Cadenas=== | === Cadenas=== | ||
*En php las cadenas de caracteres, son expresiones literales | *En php las cadenas de caracteres, son expresiones literales | ||
Línea 439: | Línea 488: | ||
El valor de la variable $nombre es pedro | El valor de la variable $nombre es pedro | ||
</div> | </div> | ||
− | |||
+ | <div class="slide"> | ||
;Comillas simples | ;Comillas simples | ||
*En ellas solo se interpreta el carácter, seguido de \ o bien seguido de la barra invertida '''''\\''''' comilla simple '''''\<nowiki>'</nowiki>''''' | *En ellas solo se interpreta el carácter, seguido de \ o bien seguido de la barra invertida '''''\\''''' comilla simple '''''\<nowiki>'</nowiki>''''' | ||
*El resto de caracteres no se interpretan | *El resto de caracteres no se interpretan | ||
</div> | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
− | |||
<source lang=php> | <source lang=php> | ||
$nombre = 'pedro'; | $nombre = 'pedro'; | ||
Línea 454: | Línea 503: | ||
El valor de la variable $nombre es $nombre y \ 'texto' si que se ve entre comillas simples'; | El valor de la variable $nombre es $nombre y \ 'texto' si que se ve entre comillas simples'; | ||
</div> | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
;Heredoc | ;Heredoc | ||
Línea 463: | Línea 513: | ||
*Para finalizarla se escribe en una nueva línea el identificador | *Para finalizarla se escribe en una nueva línea el identificador | ||
</div> | </div> | ||
− | |||
+ | <div class="slide"> | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 478: | Línea 528: | ||
*La palabra final no debe tener ningún espacio ni tabulador antes | *La palabra final no debe tener ningún espacio ni tabulador antes | ||
</div> | </div> | ||
− | |||
+ | <div class="slide"> | ||
;NewDoc | ;NewDoc | ||
*Es igual que heredoc , pero sin interpretar los caracteres especiales salvo '''''\\''''' '''''\.''''' | *Es igual que heredoc , pero sin interpretar los caracteres especiales salvo '''''\\''''' '''''\.''''' | ||
Línea 485: | Línea 535: | ||
*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 | *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 | ||
</div> | </div> | ||
− | |||
+ | <div class="slide"> | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 496: | Línea 546: | ||
FINAL; | FINAL; | ||
</source> | </source> | ||
− | |||
</div> | </div> | ||
− | |||
− | |||
− | |||
− | |||
Línea 594: | Línea 639: | ||
*En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan | *En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan | ||
[http://php.net/manual/es/language.constants.predefined.php constantes] predefinidas en php | [http://php.net/manual/es/language.constants.predefined.php constantes] predefinidas en php | ||
+ | </div> | ||
</div> | </div> | ||
+ | |||
+ | <div class="slide"> | ||
{{Tarea| | {{Tarea| | ||
Realiza un programa que visualice las constantes predefinidas '''variables''' vistas anteriormente, y al menos otras 8 de las constantes predefinidas '''estandar'''}} | Realiza un programa que visualice las constantes predefinidas '''variables''' vistas anteriormente, y al menos otras 8 de las constantes predefinidas '''estandar'''}} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
===Ambito de una variable=== | ===Ambito de una variable=== | ||
*http://php.net/manual/es/language.variables.scope.php | *http://php.net/manual/es/language.variables.scope.php | ||
Línea 604: | Línea 655: | ||
*En ese momento, dependiendo del lugar del código en que aparezca, se decide desde qué partes del programa se podrá utilizar esa variable. | *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. | *A esto se le llama visibilidad de la variable. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Ambito de una variable | ||
*En función de esto tenemos variables locales a la función y variables locales al script | *En función de esto tenemos variables locales a la función y variables locales al script | ||
<source lang=php> | <source lang=php> | ||
Línea 615: | Línea 670: | ||
} | } | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Ambito de una variable | ||
*Para poder hacer dentro de una función a una variable definida fuera, he de usar la palabra reservada '''''global''''' | *Para poder hacer dentro de una función a una variable definida fuera, he de usar la palabra reservada '''''global''''' | ||
<source lang=php> | <source lang=php> | ||
Línea 629: | Línea 688: | ||
*El precio total se muestra fuera de la funcion | *El precio total se muestra fuera de la funcion | ||
}} | }} | ||
+ | </div> | ||
====Variables '''''static'''''==== | ====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 | *Si una variable la declaramos static, hacemos que su posición de memoria no se elimine aunque no sea accesible por el script | ||
Línea 640: | Línea 700: | ||
} | } | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;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. | *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. | ||
{{Tarea| | {{Tarea| | ||
Línea 645: | Línea 709: | ||
*Cada vez que llame a la función, la función muestra un mensaje que me diga '''''me has llamado 1 vez''''', o '''''me has llamado 20 veces''''' | *Cada vez que llame a la función, la función muestra un mensaje que me diga '''''me has llamado 1 vez''''', o '''''me has llamado 20 veces''''' | ||
}} | }} | ||
+ | </div> |
Revisión de 10:14 2 oct 2015
_
Valor de la variable 16 </div>
</div>
</div> Variables static
function contador() { static $a=0; $a++; // Cada vez que se ejecuta la función, se incrementa el valor de $a } </div> |