|
|
| (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> |