Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arreglos
En este video hablaremos de arreglos en PHP y cómo usarlos en nuestros
proyectos.
Para esto vamos a crear una nueva carpeta llamada Arreglos.php y crearemos
una variable llamada $arrayVar.
Dentro de esta vamos a definir unos valores.
Nosotros podemos modificar las llaves por cadenas sin ningún problema. Php solo
usa relaciones entre llaves y valores, por eso no importa que exista un orden
específico.
¿Cómo accedemos a un elemento individualmente?
Para acceder a un elemento individualmente lo que necesitamos hacer es utilizar
los corchetes:
$arrayVar = [
‘Color1’ => ‘red’,
‘Color2’ => ‘blue’,
3 => ‘black’,
];
var_dump($arrayVar[3]);
De esta manera podemos imprimir el valor que corresponde a la cadena o el
número que hemos definido como la llave del arreglo individual.
Operadores - Aritméticos
En este vídeo vamos a ver cómo funcionan los operadores aritméticos.
Notas importantes:
-Un operador es algo que toma uno o más valores para producir como resultado
otro valor.
-La clasificación de operadores se da normalmente con base en su uso.
Operadores Aritméticos:
Los operadores aritméticos son operaciones que se pueden realizar dentro de
php. Se pueden hacer sumas, restas, multiplicaciones y divisiones que nos
permiten saber determinados datos.
En algunos casos, los resultados de las operaciones matemáticas nos dan
números con decimales, por eso, se puede utilizar un comando que haga del
número flotante un número enter
o con int:
<?php
$a = 10;
$b = 3;
Asignación
Para tomar en cuenta:
Existe un tipo de asignación al cual se le puede llamar “operadores de
asignación combinados”, los cuales permiten facilitar algunas operaciones
aritméticas o para concatenar.
<?php
$a -= 3; // sustracción
$b *= 5; // multiplicación
$c /= 5; // división
$d %= 2; // modulo
Comparación
Los operadores de comparación, como su nombre lo indica, toman dos valores,
los comparan y nos regresan un valor extra como resultado.
Tipos de operadores de comparación:
1. ==
Obtendremos un true en caso de que los valores sean iguales y un false en caso
de que los valores sean diferentes.
2. ===
Verifica que los valores sean completamente idénticos, tanto en valor como en
tipo de dato.
3. !=
Verifica si los valores son diferentes.
True si los valores son diferentes y false si los valores son iguales.
4. <=>
Permite comparar si dos valores son: menor, igual o mayor. Esto en una sola
operación.
Arrays
En este video vamos a hablar sobre cómo podemos usar los operadores que ya
aprendimos, pero aplicados en arreglos.
Para este ejemplo vamos a utilizar dos arreglos:
<?php
$array1 = [
0 => ‘a’,
1 => ‘b’,
2 => ‘c’,
];
$array2 = [
3 => ‘d’,
4 => ‘e’,
];
Ahora bien, si utilizamos valores similares para comparar los valores que tenemos
dentro de los arreglos tendríamos la siguiente información:
<?php
$array1 = [
0 => ‘a’,
1 => ‘b’,
2 => ‘c’,
];
$array2 = [
‘a’, ‘b’, ‘c’
];
$result = $array1 == $array2;
var_dump($result);
Nos daría que son iguales, y si usamos el triple igual === nos arrojaría lo mismo.
Porque todos los valores y los tipos de datos coinciden.
Si cambiáramos los valores porque el orden de los valores no coincidirían.
Incremento
Los operadores de incremento nos permiten aumentar o disminuir valores. El caso
más sencillo es que declaremos una variable y usemos el operador de incremento
++
<?php
$a = 1;
$a++;
var_dump($a);
?>
Lo que nos muestra el valor de $a + 1. Es decir, un entero 2.
Lógicos
Vamos a comenzar con el operador and, el cual nos regresará verdadero en caso
de que ambos resultado sean verdaderos.
En caso de que cualquiera de los dos sea falso, nos regresará falso.
<?php
$var1 = 1;
$var2 = 1;
$var3 = 2;
$var4 = 3;
$result1 = $var1 == $var2;
echo ‘Result 1:
’;
var_dump($result1);
$result2 = $var3 == $var4;
echo ‘Result 2:
’;
var_dump($result2);
$result3 = $result1 && $result2;
echo
;
echo
;
Var_dump($result3);
Null
Para terminar con la sección de operadores vamos a ver un operador que se llama
Null que se integró con la nueva versión de PHP 7.
Si el valor de una variable es null en el navegador aparecerá como ‘default’’??’
Funciones en PHP
Durante las lecciones anteriores hemos utilizado constantemente la función
var_dump, sin embargo, aquí vamos a aprender a crear nuestras propias
funciones.
El uso de funciones las podemos dividir en dos partes, la primera es la declaración
de la función en donde definimos la función, cómo se llama, y qué es lo que
contiene. La segunda es el llamado de esa función que es cuando ejecutamos la
función.
Para definir una función se usa la palabra función y sigue las mismas
características de una variable, es decir, puede comenzar como una letra o con un
guión bajo:
function hello( ) {
echo ‘Hello’;
}
Esto es solo la declaración de la función, para llamarla tenemos que hacer algunas
otras cosas.
Para llamarla entonces:
<?php
function hello( ) {
echo ‘Hello’;
Echo ‘
’;
}
hello( );
Muchas veces queremos personalizar el valor o algo de los que está haciendo
nuestra función. Para esto, podemos usar parámetros, y para eso tenemos que
escribir dentro de los paréntesis y tienen que se nombre de variables.
Ejemplo:
<?php
function hello($name) {
echo ‘Hello’ . $name;
echo ‘
’;
}
hello(‘Mary’);
hello(‘Elizabeth’);
Dependiendo del valor que se le haya asignado a la variable el navegador lo
ejecuta de una manera determinada.
Estructuras Condicionales
Estructuras Condicionales
Los condicionales en PHP son por ejemplo:
if
If nos permite determinar si algo es verdadero, por ejemplo:
<?php
$color = ‘red’;
If ( $color = ‘red’) {
echo ’The color is red’;
}
También podemos usar otro condicional que es else:
<?php
$color = ‘red’;
If ( $color = ‘red’) {
echo ’The color is red’;
}
else {
echo ‘The color is not red’;
}
Además podemos usar elseif que nos permite hacer nuevas comparaciones:
<?php
$color = ‘red’;
If ( $color == ‘red’) {
echo ’The color is red’;
}
elseif {
echo ‘The color is not red’;
}
elseif ($color == ‘purple’) {
echo ’The color is purple’;
}
else {
echo ’The color is either red nor purple’;
}
?>
Además existe otra estructura de control llamada switch, este funciona de manera
muy similar a ifs anidados.
<?php
$color = ‘red’;
switch($color) {
case ‘blue’:
echo ‘Color is blue’;
break;
case ‘red’:
echo ‘Color is red’;
break;
}
Con switch podemos utilizar además el caso default: que se ejecuta cuando
ninguno de los casos que hemos definido anteriormente.
<?php
$color = ‘red’;
switch($color) {
case ‘blue’:
echo ‘Color is blue’;
break;
case ‘red’:
echo ‘Color is red’;
break;
default:
echo ‘Other’;
}
Estructuras de Ciclos
Ahora vamos a hablar de ciclos o loops en inglés. Son herramientas que nos
permiten hacer ejecuciones repetidas dentro de php.
Vamos a comenzar con un ejemplo de la estructura de control for:
<?php
for ($i = 0; $i <= 10; $i++) {
echo $i . ‘
’;
}
?>
Para la estructura de control for vamos a tener un paréntesis con 3 expresiones.
La primera, la utilizamos para iniciar el ciclo e iniciar valores.
En este caso vamos a comenzar con $i = 0.
La segunda generalmente la tomamos como un valor que puede ser verdadero o
falso.
En este caso: $i <= 10.
Y la tercera se ejecutará al final de ciclo siempre.
En este caso: $i++.
Otra manera para crear ciclos es la estructura while.
<?php
$i = 0;
While ($i <= 10) {
echo $i . ‘
;
$i++
}
?>
Manejo de Sesiones
Cuando ustedes quieren comenzar a usar una sesión, lo primero que deben hacer
es crear la función de sesión.
Para esto debemos mandar llamar la sesión. En este caso creamos un contador
de sesiones.
Para eliminar la sesión utilizamos
unset ($_SESSION [‘count’]);
Manejo de Cookies
Las cookies son un mecanismo mediante el cual podemos almacenar cierta
información en el navegador del cliente. Esto para no almacenar tanta información
en nuestro servidor.
Las cookies se van a poder utilizar cuando un usuario ha vuelto a su sitio o para
guardar preferencias del usuario. Tomen en cuenta que esta información se
encuentra del lado del cliente y puede ser consultada. Por eso, no almacenen
información sensible en este lugar.
Con el código que vamos a crear aquí vamos a contar cuántas veces un usuario
visita nuestro sitio.
<?php
setcookie(‘count’, ‘1’, time() + 3600);
echo ‘
Cookie
’
?>
¿Cómo podemos leer la cookie?
<?php
echo ‘Cookie value’ . $_COOKIE[‘count’];
?>
Funciones Anónimas
Son funciones que no tienen un nombre específico, muchas veces las utilizamos
como parámetros de otras funciones.
Una función anónima simplemente utilizaría la palabra declarada función seguida
de paréntesis y algo que ejecute adentro.
En este caso creamos la función anónima, pero no podemos llamarla de ninguna
forma. Por esto se la vamos a asignar a una variable. Así podemos llamar a la
función anónima usando el nombre de la variable.
<?php
$var = function() {
echo ‘This is a closure’;
};
$var();
?>
Un punto que deben tener en cuenta es que el sope que se genera dentro de la
función anónima no está compartido con el sope global. Pero podemos usar use
para incluirla dentro del alcance de esa función:
<?php
$var2 = 1;
$var = function() use ($var2) {
echo \'This is a closure \';
echo ‘
’;
echo \'Value: ’ . $var2;
};
$var();
?>
<?php
$x = 3;
$numbers = [1, 2, 3, 4, 5];
$result = array_map(function ($n) use ($x){
return $n * $x;
}, $numbers);
var_dump($result);
?>
Programación Orientada a Objetos:
Este es un paradigma de programación que nos permite generar un código más
modular y más reutilizable.
Aquí vamos a aprender los conceptos báiscos de la programación orientada a
objetos y cómo podemos utilizarla en PHP.
Clases: Una plantilla de una entidad abstracta.
Instancias: Elementos concretos de esa clase.
Constructor y Destructor
Php nos permite hacer uso de dos métodos especiales, los cuales son construct
and destruct.
Construct será llamado inmediatamente después de que nosotros creamos un
nuevo objeto.
Destruct, por otro lado, será llamado en el momento en el que ya no exista
ninguna referencia a nuestro objeto o en el momento en el que se termine nuestro
script.
Herencia
La herencia es un proceso que nos ayuda a reutilizar código. Por medio de la
herencia podemos hacer que una clase obtenga los métodos de otra clase.
Pensemos que tenemos una clase “Padre” y unas clases que sean “hijas”que ser
derivan de esa clase.
A estas nuevas clases las podemos modificar y adicionar cosas nuevas sin
necesidad de cambiar la clase padre.
Namespaces
Los namespaces son una forma en la que podemos encapsular clases o funciones
dentro de nuestro código.
Dar nombres muy genéricos a nuestro código puede ser muy problemático. Esto,
generalmente, sucede cuando importamos librerías de otras personas en las que
ellos han declarado una función o una variable con el mismo nombre y en ese
caso habría una redeclaración.
Con los namespaces podemos dividir el código y encapsularlo. Le asignamos un
nombre de espacio a nuestro código para que cuando usemos el código de
alguien más no existan conflictos.
Si queremos crear un namespace específico para nuestras clases:
<?php
namespace Vehicle;
Static
Definir propiedades o métodos estáticos nos permite crear métodos y propiedades
que son accesibles sin la necesidad de instanciar una clase. Pero recuerden que
estos métodos no serán únicos para cada instancia, es decir que si ustedes de
alguna forma modifican la propiedad estática, esta será cambiada para todos los
objetos.
Abstract y Polimorfismo
Una clase abstracta es como una clase parcialmente construida. El tipo de clases
definidas como abstractas, si una clase contiene al menos un método abstracto
debe ser definido como una clase abstracta.
Interface
Las interfaces nos permiten definir qué métodos debe implementar ciertas clases
sin necesidad de decir cómo deben ser implementados.
Se pueden utilizar las interfaces pensando en una especia de contrato, y no en
una herencia.
Las interfaces se definen de la misma forma que una clase, pero no usando la
palabra reservada class, en este caso utilizamos la palabra reservada interface.
interface MyInterface{
public function method1( );
}
Cuando queramos utilizar la interfaz debemos usar la palabra reservada
implement en lugar de la palabra extend.
Php contiene unos métodos que se llaman serialización y deserialización los
cuales permiten convertir un objeto en una especie de bloque que puede
ser almacenado y después con otro método podemos hacer la operación
inversa para obtener ese código.
Excepciones
Muchas veces nos podemos encontrar con una nueva forma de enfrentar errores.
Esto se conoce como excepciones.
Cuando comprendemos cómo funcionan las excepciones, podremos saber cómo
reaccionar a diferentes tipos de errores.
Traits
Muchos lenguajes de programación orientada a objetos utilizan un modelo de
herencia. En el que usen una funcionalidad llamada trait que nos permite agregar
o extender la funcionalidad de una clase sin tener la limitante de la herencia.
Agrupan funcionalidades específicas, se puede considerar que estos son clases
especiales que no pueden ser especialmente llamados, estos no pueden ser
instanciados de ninguna forma.
<?php
namespace Vehicles;
trait GPSTrait {
public function getPos ( ) {
echo ‘lat, long, \'
}
}
Introducción a Router
Recomendación: Cuando ustedes estén haciendo una aplicación y estén teniendo
una necesidad específica es bueno que usen paquetes de terceros.
Es importante que consigan paquetes que sean reconocidos, que tengan
comentarios y que se note que estén resolviendo los bugs constantemente.
Validaciones
Vamos a hablar un poco sobre validaciones de datos. Básicamente, podemos
decir que hay dos tipos de validaciones de datos:
Una validación que se puede hacer del lado del cliente.
Una validación que podemos hacer del lado del servidor.
En esta sección vamos a hablar sobre validaciones del lado del servidor. Estas las
vamos a realizar utilizando php y las hacemos en cuanto recibimos los datos de un
blog post.
Si queremos hacer validaciones del lado del cliente, se puede lograr usando
JavaScript.
¿Qué problemas encontramos aquí?
El problema con la validación del lado del cliente es que podría hacer que
JavaScript sea modificado, deshabilitado o alterado del lado del cliente.
El problema con las validaciones del lado del servidor es que se requiere que se
haga un envío hacia el servidor y que se regrese para mostrar la respuesta.
En mi experiencia yo les recomiendo que validen de ambos lados. Del lado del
cliente para que mejoren la experiencia del usuario y del servidor para que no
reciban ningún dato malicioso o que reciban información errónea.