|
|
(16 revisiones intermedias por el mismo usuario no mostrado) |
Línea 14: |
Línea 14: |
| | | |
| <div class="slide"> | | <div class="slide"> |
− | ==Operadores y expresiones==
| |
− | <br />
| |
− | {{MRM_Objetivos|
| |
− | ;Son partes de las frases de un lenguaje de programación}}
| |
− | </div>
| |
| | | |
− | <div class="slide">
| + | ===Dónde poner el código embebido=== |
− | ===Operadores=== | + | <br/> |
− | *Son símbolos que realizan acciones sobre operandos y dan como resultado un valor
| + | {{MRM_Pregunta|Dónde escribir código php |
− | *Tenemos diferentes tipos de operadores en función del tipo de operandos y del resultado
| + | {{MRM_Pregunta|Title=Respuesta|Dónde queramos que se ejecute algo}} |
− | ;operadores aritméticos (+,-,*,/,%,**, ++, --)
| + | }} |
− | *Retorna un valor numérico
| + | |
− | *el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post
| + | |
| </div> | | </div> |
− |
| |
| <div class="slide"> | | <div class="slide"> |
− | ;Operadores
| + | <hr /> |
− | <source lang=php> | + | *Donde queramos que se ejecute algo |
− | $a=5;
| + | <hr/> |
− | if ($a++==5)
| + | [[Imagen:codigoPHP.png|center|500px]] |
− | echo '$a que vale '.$a.' dice que vale 5 ???? <br>'
| + | *Se ejecuta como si fuera un solo programa |
− | . 'Esto es por que primero compara y luego incrementa<br>';
| + | *A la hora de incluir php podemos se usa mucho la filosofía Modelo Vista /Controlador que veremos en otro tema |
− | | + | {{MRM_Resumen|Title=Modelo vista controlador| |
− | echo 'ahora $a vale '.$a.'<br>';
| + | *Trata de separar el código según su cometido, de forma muy resumida |
− | | + | *Hay acciones que realizan cálculos y obtienen resultados (Controlador |
− | if (++$a==6)
| + | *Hay acciones que lo que hacen es visualziar valores (Vista) |
− | echo 'esto nunca saldrá ya que $a se incrementa antes de comparar';
| + | *Hay acciones que se encargan de interactuar con la base de datos (Modelo) |
− | else
| + | |
− | echo 'efectivamente ahora $a ya no vale 6 sino '.$a.'<br>';
| + | |
− | ?>
| + | |
− | </source>
| + | |
− | </div>
| + | |
− | | + | |
− | <div class="slide">
| + | |
− | ;Operadores
| + | |
− | *El código anterior genera la siguiente salida | + | |
− | <source lang=php>
| + | |
− | $a que vale 6 dice que vale 5 ????
| + | |
− | Esto es por que primero compara y luego incrementa
| + | |
− | ahora $a vale 6
| + | |
− | efectivamente ahora $a ya no vale 6 sino 7
| + | |
− | </source>
| + | |
− | </div>
| + | |
− | | + | |
− | <div class="slide">
| + | |
− | ;operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
| + | |
− | :Este tipo de operadores genera un booleano como resultado de evaluar la expresión
| + | |
− | {{MRM_Puntos clave|
| + | |
− | *'''''<nowiki>==</nowiki>''''' operador de comparación '''''igual que''''' (mismo valor) | + | |
− | *'''''<nowiki>===</nowiki>''''' operador de comparación '''''exactamente igual que''''' (mismo valor y tipo) | + | |
| }} | | }} |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operador == Vs ===
| |
− | <source lang=php>
| |
− | $num=1;
| |
− | if ($num==true)
| |
− | echo '$num es igual a true<br>';
| |
− | if ($num===true){
| |
− | echo "esto nunca se ejecutará";
| |
− | }else
| |
− | echo '$num no es exactamente igual a true';
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operador == vs ===
| |
− |
| |
− | *El código anterior generaría la siguiente salida
| |
− | <source lang=php>
| |
− | $num es igual a true
| |
− | $num no es exactamente igual a true
| |
− | </source>
| |
− | *Ver la sección '''''comparación de tipos''''' de la página oficial
| |
− | http://php.net/manual/es/language.operators.comparison.php
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;operadores de concatenacón( .) concatena cadena de caracteres.
| |
− | :El operador + no está sobre cargado, observa el siguiente código
| |
− | <source lang=php>
| |
− | $nombre="Maria";
| |
− | $apellido = " de la Oh";
| |
− |
| |
− | $nombreCompleto = $nombre.$apellido;
| |
− | echo "el valor de nombre completo es $nombreCompleto ---<br>";
| |
− |
| |
− | $nombreCompleto = $nombre+$apellido;
| |
− | echo "el valor de nombre completo es $nombreCompleto --<br>";
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;La salida del código anterior sería
| |
− | <source lang=php>
| |
− | el valor de nombre completo es Maria de la Oh ---
| |
− | el valor de nombre completo es 0 --
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operadores de asignación (= , =>)
| |
− | :Se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenación (.=)
| |
− | :En este caso el valor de la variable de la izquierda se toma como primero operando
| |
− | ;Operador de asignación
| |
− | <source lang=php>
| |
− | <?php
| |
− | $b=1;
| |
− | for ($a=0;$a<10;$a++){
| |
− | $b*=10;
| |
− | echo 'valor de $b ='.$b.'<br>';
| |
− | }
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | *El código anterior genera la siguiente salida
| |
− | <source lang=php>
| |
− | valor de $b =10
| |
− | valor de $b =100
| |
− | valor de $b =1000
| |
− | valor de $b =10000
| |
− | valor de $b =100000
| |
− | valor de $b =1000000
| |
− | valor de $b =10000000
| |
− | valor de $b =100000000
| |
− | valor de $b =1000000000
| |
− | valor de $b =10000000000
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;operadores de ejecución (``)
| |
− | :PHP proporciona un operador especial que permite ejecutar sentencias
| |
− | *Observa el siguiente código
| |
− | <source lang=php>
| |
− | <?php
| |
− | $Discos = `df`;
| |
− | echo "<pre>$Discos</pre>";
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | *El código anterior generará la siguiente salida
| |
− | <source lang=php>
| |
− | Filesystem 1K-blocks Used Available Use% Mounted on
| |
− | /dev/sda5 86378608 6072360 75895384 8% /
| |
− | none 4 0 4 0% /sys/fs/cgroup
| |
− | udev 4023720 4 4023716 1% /dev
| |
− | tmpfs 806904 1384 805520 1% /run
| |
− | none 5120 0 5120 0% /run/lock
| |
− | none 4034504 6588 4027916 1% /run/shm
| |
− | none 102400 28 102372 1% /run/user
| |
− | /dev/sda7 101797224 40480360 56122728 42% /home
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Invocando funciones del sistema
| |
− | *El operador anterior (comillas invertidas) es igual que la función '''''shell_exec()'''''
| |
− | http://php.net/manual/es/function.shell-exec.php
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;operadores lógicos (and,&&, or, ||, xor !)
| |
− | http://php.net/manual/es/language.operators.logical.php
| |
− | :Funcionan por cortocircuito
| |
− | :El operador '''''xor''''' da verdad si los operando son de diferente valor uno true y el otro false
| |
− | :La notación '''''and''''' y '''''&&''''' representan el mismo operador, igual ocurre con '''''or''''' y '''''||'''''
| |
− | *La diferencia entre los operadores es la prioridad
| |
− | http://php.net/manual/es/language.operators.precedence.php
| |
− | </div>
| |
− |
| |
− |
| |
− |
| |
− |
| |
| | | |
| </div> | | </div> |