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 21:14 1 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> |

