Diferencia entre revisiones de «Usuario:ManuelRomero/php/introduccion»

De WikiEducator
Saltar a: navegación, buscar
Línea 282: Línea 282:
  
 
{{Actividad|
 
{{Actividad|
*Define las siguientes variables y verifica el resultado con empty()  
+
*Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()  
 +
}}
 +
<source lang=php>
 
  $num=0;
 
  $num=0;
 
  $nombre="";
 
  $nombre="";
Línea 288: Línea 290:
 
  $nombre="0";
 
  $nombre="0";
 
  $pregunta = FALSE;
 
  $pregunta = FALSE;
}}
+
</source>
  
 
</div>
 
</div>
Línea 295: Línea 297:
 
<!--4---------------------------------->
 
<!--4---------------------------------->
  
;gettype()
+
;[http://es1.php.net/manual/es/function.gettype.php gettype]]
 
*Devuelve el tipo de una variable
 
*Devuelve el tipo de una variable
 
<source lang=php>
 
<source lang=php>
Línea 305: Línea 307:
 
<!--4---------------------------------->
 
<!--4---------------------------------->
  
;is_xxx
+
;[http://es1.php.net/manual/es/function.is-bool.phpis_bool][http://es1.php.net/manual/es/function.is-double.php is-double] [http://es1.php.net/manual/es/function.is-int.php is-int], is-xxx
*xxx puede ser cualquiera de los tipos
+
*son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos  
  bool double float int integer null string
+
[[Archivo:funciones_is-xxx.png]]
*devuelve un booleano que indica si la variable es o no de ese tipo
+
*Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
 
<source lang=php>
 
<source lang=php>
 
string is_int($variable);
 
string is_int($variable);
Línea 316: Línea 318:
 
string is_null($variable);
 
string is_null($variable);
 
string is_string($variable);
 
string is_string($variable);
 +
...
 
</source>
 
</source>
 +
</div>
 +
<div class="slide">
 +
 +
{{Actividad|
 +
*Visualizar de qué tipo es la expresión $a=5.5 y visualiza el valor de la expresión}}
 
</div>
 
</div>
  
Línea 322: Línea 330:
 
<!--4---------------------------------->
 
<!--4---------------------------------->
  
;unset
+
;[http://es1.php.net/manual/es/function.unset.php unset]
 
*Destruye la variable especificada perdiéndose su valor
 
*Destruye la variable especificada perdiéndose su valor
void unset ($var
+
void unset ($var)
 
</div>
 
</div>
 
<div class="slide">
 
<div class="slide">
=== Cadenas=== <!--MRM Falta-->
+
=== Cadenas===
 
*Comillas dobles ""
 
*Comillas dobles ""
 
*Comillas sencillas <nowiki>''</nowiki>
 
*Comillas sencillas <nowiki>''</nowiki>
Línea 522: Línea 530:
 
</div>
 
</div>
  
 +
===Arrays===
 +
===Variables predefinidas===
 
<div class="slide">
 
<div class="slide">
 
===Leer datos===
 
===Leer datos===
Línea 549: Línea 559:
 
===iteracion while===
 
===iteracion while===
 
</div>
 
</div>
 
 
<div class="slide">
 
=BASES DE DATOS=
 
*Para trabajar con bases de datos debemos
 
**Conectarnos
 
**Seleccionar
 
Normalmente también
 
**Realizaremos  Consulta o inserciones
 
**Procesar información
 
**Cerrar la base de datos
 
Para realizar estas acciones disponemos de diversas funciones específicas dentro de PHP
 
</div>
 
 
 
<div class="slide">
 
===CONECTAR AL SERVIDOR MYSQL===
 
resource mysql_connect($hostname, $user, $password);
 
*Los parámetros de tipo string identificarían
 
**$hostname = nombre del host
 
**$user =  usuario
 
**$password = contraseña
 
*Esta función retorna el recurso de la conexión
 
**FALSO si no se ha conectado
 
</div>
 
 
 
<div class="slide">
 
===SELECCIONAR LA BASE DE DATOS===
 
Dentro del servidor tendremos diferentes bases de datos
 
Antes de trabajar con una debemos seleccionarla
 
Si no la seleccionamos se intentará operar con la última seleccionada
 
bool mysql_select_db ($namedatabase, $conexion)
 
*Ejemplo
 
<?php
 
$conexion = mysql_connect('localhost', 'manolo', 'manolo');
 
if (!$conexion) {
 
    die('No conectado : ' . mysql_error());
 
}
 
// Seleccionar alumnos como base de datos activa
 
$db_seleccionada = mysql_select_db('alumnos', $conexion);
 
if (!$db_seleccionada) {
 
    die ('No puedo conectar con la BD alumno : ' . mysql_error());
 
}
 
?>
 
</div>
 
 
<div class="slide">
 
===FUNCIONES die()- mysql_error() y concatenador .===
 
die('texto');
 
Es una función que aborta la ejecución
 
previamente visualiza el mensaje del parámetro por pantalla
 
mysql_error()
 
visualiza el error que da el sistema por el que no ha podido conectar
 
.
 
Es un concatenador de cadenas
 
echo "Esto es una cadena " . "Esta es otra concatenada a la anterior"
 
</div>
 
 
 
<div class="slide">
 
===CREAR CONSULTA===
 
resource mysql_query ( string $consulta );
 
consulta es la consulta a la base de datos
 
<?php
 
$resultado = mysql_query('SELECT * from alumnos');
 
if (!$resultado) {
 
    die('Invalid query: ' . mysql_error());
 
}
 
?>
 
</div>
 
 
 
<div class="slide">
 
===PROCESAR INFORMACIÓN===
 
Ahora ya tenemos los datos con los que queremos trabajar
 
los tenemos en una variable de tipo consulta
 
ahora debemos recorrela
 
La variable es como un vector de filas que hay que recorrer
 
array mysql_fetch_row ( resource $resultado )
 
esta función devuelve falso o 0 cuando ya no retorna más filas
 
si no retorna la siguiente fila de la consulta
 
la forma de acceder a cada campo será por el índice del array
 
array[0] .. array[n]
 
 
<?php
 
$resultado = mysql_query("SELECT nombre, apellido, direccion FROMM alumnos");
 
if (!$resultado) {
 
    die("Could not run query: " . mysql_error();
 
}
 
$c=0;
 
while ($alumno=mysql_fetch_row($result)){
 
      echo "alumno $c nombre $alumno[0] apellido $alumno[1] direccion $alumno[3]");
 
      $c++;
 
?>
 
</div>
 
 
<div class="slide">
 
 
===GESTIÓN DE BASE DE DATOS===
 
Conocer todas las bases de datos
 
mysql_connect('localhost', 'mysql_user', 'mysql_password');
 
Todas las tablas de una base de datos
 
resource mysql_list_tables ( string $database [, resource $link_identifier ])
 
</div>
 
Los campos de una tabla
 
resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier])
 
</div>
 
<div class="slide">
 
=FUNCIONES=
 
</div>
 
<div class="slide">
 
===Definición de funiones=
 
function  ‘’’nombre_de_funcion’’’ (’’’’lista_de_parametros’’’’){
 
’’’’codigo a ejecutar ’’’’
 
}
 
</div>
 
<div class="slide">
 
===Ejemplo de funcion===
 
*Realiza una función que convierta de mayúsculas a minúsculas
 
</div>
 
<div class="slide">
 
===Generar pdf desde el código php===
 
pdf=new mPDF();
 
$mpdf->WriteHTML('<p>Hello World</p>');
 
$mpdf->Output();
 
</div>
 
-->
 
|}
 

Revisión de 10:01 1 oct 2014

DWES TituloTema3.gif



Icon qmark.gif

Pregunta

  • Qué es un tipo de dato
  • Qué es una variable




Icon define.gif

Definición

Un tipo de dato es un conjunto de valores para los cuales hay definidos una serie de operaciones



Icon define.gif

Definición

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
  • 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 o tipado dinámico
  • 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.

Variables

Identificador

  • 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.
identificador de variables


Icon key points.gif

Puntos clave

$(a..zA..Z_0-9)*


 <?php
   $miVariable= 8;/*Variable de tipo entero*/
   edad = 5/*Error en el identificador*/
   $5edad = 5 /*Error en el identificador */
 ?>
  • El lenguaje es sensible a mayúsculas y minúsculas
    • En los identificadores de variables
    • No lo es en nombres de funciones
    • No lo es en palabras reservadas (if, then, else,...)

Valores y tipos de datos

  • En Php tenemos 8 tipos de datos
  • En php tenemos
  1. 5 tipos básicos o primitibos (booleano, entero, real, string, NULL)
  2. 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;
  • 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 se ven después
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
  1. Si aún no se le ha asignado valor, o éste se ha destruido (unset()
  2. 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
  ?>

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"
?>
  • Este código nos visualizará
Valor de la variable 16


Icon activity.jpg

Actividad

  • Probamos a hacer programas sencillos donde asignamos y visualizamos valores
  1. entero:
  2. cadena:
  3. booleano:
  4. real
  5. NULL




Valor de variable

  • Una variable le asigno 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

  • 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
var_dump
 void var_dump($expresion)
  • Nos da información sobre la estructura de un valor resultado de una expresion
isset
 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");
  ?>
empty
bool empty ($varriable)
  • Determina si una variable no existe. Devuelve true si no existe o su valor está vacío



Icon activity.jpg

Actividad

Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo





Icon activity.jpg

Actividad

Usando la función xxxyyy donde xxx e yyy será dec oct bin o hex para convertir el valor de un sistema numérico a otro





Icon activity.jpg

Actividad

  • Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()




 $num=0;
 $nombre="";
 $nombre=null;
 $nombre="0";
 $pregunta = FALSE;
gettype]
  • Devuelve el tipo de una variable
string gettype($variable)
[1]is-double is-int, is-xxx
  • son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos

Funciones is-xxx.png

  • 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);
...



Icon activity.jpg

Actividad

{{{1}}}



unset
  • Destruye la variable especificada perdiéndose su valor

void unset ($var)

Cadenas

  • Comillas dobles ""
  • Comillas sencillas ''

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”
 ?>

print

Tiene dos diferencias con echo

  1. Sólo puede aceptar un argumento
  2. 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.

Estructuras de control 1

A continuación veremos las estructuras de control Son de tres tipos

  1. Selección
  2. Iteración
  3. Secuenciales

Para construirlas necesitamos operadores

  1. Operadores lógicos


Operadores lógicos

and 
or
!
xor
&&
||

Funcionan por cortocircuito Construyen expresiones booleanas y tras su evaluación retorna un valor booleano.


Operadores lógicos

Operadores lógicos

==
¡=
<
>
<=
>=
===

Operadores ternario

Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion


Selección if

If ( condicion)
    Sentencia 1;
if  (condicion){
    Sentencia 1
    Sentencia 2
}

if (condicion)

    Sentencia 1

else

     Sentencia 2

if condicion:

  Sentencia 1;
endif;

iteracion for

for (expression_inicial; comprobacion_terminacion;exrpesion_incremento){
      sentencias;
}





Icon activity.jpg

Actividad

Haz un programa que sume los 100 primeros números






Icon activity.jpg

Actividad

Haz un programa que obtenga de forma aleatoria dia (1-31)mes(1-12) y año(1-3000) y nos diga si la fecha es correcta o no y porqué





Icon activity.jpg

Actividad

  • Haz un programa que a partir de precio hora y de número de horas calcule una nómina, teniendo en cuenta que:
  1. mas de 40 horas son extras (1.5 el precio establecido
  2. IRPF < 600E exento
  3. Entre 600 y 800 5%
  4. Mas de 800 12 %
  • Nos debe de dar detalle del bruto, descuentos y neto de salario





Icon activity.jpg

Actividad

Un programa que nos diga si un número es o no primo





Icon activity.jpg

Actividad

Haz un programa que muestre la tabla de multiplicar de un número aleatorio en una tabla. Intenta que las sentencias html queden fuera del código de php




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
  • En php hay 8 constantes predefinidas
constantes predefinidas en php