Platzi - Curso de Introducción A PHP 2018
Platzi - Curso de Introducción A PHP 2018
Platzi - Curso de Introducción A PHP 2018
1. Introducción a PHP
¿Qué es PHP?
¿Qué NO es PHP?
No es un lenguaje compilado, por lo cual siempre tendrás que llevar juntos tu código
y tu intérprete.
No está diseñado para realizar aplicaciones de escritorio.
Para trabajar con PHP instalaremos un entorno de desarrollo llamado XAMPP, no
es un entorno pensado para producción.
PHP no es estáticamente tipado, es decir que no tenemos que decirle qué tipo de dato es
esa variable. Además, es débilmente tipado porque podemos fácilmente cambiar el tipo de
dato, es decir PHP ejecuta una conversión de datos interna.
Al momento de trabajar con PHP una cosa muy importante es hacer debugging a nuestras
variables, para ello utilizamos la función var_dump(); pasándole por parámetro la variable a
revisar.
En PHP tenemos dos tipos de cadenas, las que son con comillas simples y las de comillas
dobles. La diferencia entre estas dos cadenas es que la de comillas simples recibe de forma
literal lo que le escribas mientras que la de comillas dobles intenta interpretar cualquier
variable dentro de ella.
● Tipos compuestos:
○ Array: Collección de valores. Se representa con un mapa llave-valor y su
sintaxis es con corchetes.
$array = [
"curso1" => "php",
"curso2" => "js",
];
○ Object: Representa una instancia de una clase.
○ Callable: Tipo de dato especial que representa a algo que puede ser
“llamado”, por ejemplo una función o un método.
<?php
// Variable que guarda un callable
$firstOfArray = function(array $array) {
if (count($array) == 0) { return null; }
return $array[0];
};
● Tipos especiales:
○ Resource: Es un tipo de dato especial que representa un recurso externo,
por ejemplo un archivo externo a tu aplicación.
○ NULL: Representa una variable sin valor.
Arreglos
Como vimos en la clase anterior almacenamos datos en una variable, ahora trataremos de
almacenar más datos en una misma variable.
Estas variables que almacenan más de un dato se conocen como arreglos y su sintaxis se
va a indicar con [ ] (corchetes).
La estructura de arreglos en PHP es conocida como mapa, lo que quiere decir que tiene
una composición de llave valor. Además, un arreglo puede contener más arreglos y cada
uno de ellos seguirá la misma estructura.
Algo que debes saber es que en PHP podrás almacenar diferentes tipos de datos en un
mismo arreglo.
Condicionales y Ciclos
Las condiciones nos permiten tomar decisiones en el código, si se cumple la condición
entonces se ejecutarán ciertas instrucciones sino se cumple se ejecutarán otras. Estas se
denotan por la instrucción if else.
Los ciclos funcionan de la mano con las condiciones, en este caso si se cumple la
instrucción se estará ejecutando repetidas veces una instrucción dada.
Hemos agregado los jobs de forma manual accediendo al arreglo a través de sus índices,
hacer esto podría traer errores y no podríamos controlarlo si tuviéramos muchos jobs. Ahora
veamos una mejor forma de hacerlo con ciclos.
● while vs do while: Cuando creamos un ciclo do… while, le decimos a PHP que
ejecute cierto bloque de código siempre y cuando la condición que tengas dentro se
siga evaluando como verdadera.
La principal diferencia es que el ciclo do while garantiza que el código interno se ejecutará al
menos 1 vez, mientras que en el ciclo while si la condición es falsa desde un inicio, es
posible que el ciclo nunca se ejecute
do {
codigo…
} while (condicion)
while (condicion) {
codigo...
}
● foreach: El ciclo foreach nos brinda una solución simple para iterar sobre los valores
de un arreglo, la sintaxis es la siguiente:
Tenemos la sentencia continue la cual al ejecutarse hará que se itere a la siguiente línea del
arreglo. Y la sentencia break que hará que el ciclo se termine.
Operadores
● Operadores aritméticos:
● Operadores de comparación:
● Operadores de incremento/decremento:
● Operadores lógicos:
● Operadores para strings: Existen 2 operadores para strings el . (punto) que nos
permite concatenar cadenas, y el .= que nos permite simplificar la sintaxis de
concatenar algo a una misma cadena.
Hola php!!!
Funciones
Las funciones en PHP se denotan por la palabra reservada function seguida por el nombre
de la función, las funciones nos servirán para llamar y reutilizar código en nuestros
proyectos.
Cuando trabajemos con funciones es muy importante cuidar el scope (alcance) de las
variables pues, algunas podrían entrar en su scope y otras no.
Los métodos include y require ejecutan el código del archivo cada vez que lo incluyen, esto
puede traer errores en la ejecución de tu código si tienes archivos con funciones pues te
dirá que no puedes declarar dos veces una función con el mismo nombre. Para resolver
esto existen: include_once y require_once que obligan a incluir una sola vez el archivo.
Constructor y métodos
El método constructor nos permitirá inicializar valores por default, así como también
pasar datos como parámetro al momento de inicializar un objeto.
Todas las funciones que tienen __ antes del nombre de la función se conocen como
métodos mágicos, investiga más y crea un tutorial en la sección de Tutoriales del
curso.
Herencia
La herencia permite que ciertas clases tengan características de una clase padre.
Esta clase se llamará hijo.
Como una buena práctica en PHP lo mejor es tener dividido el código en diferentes
archivos. La herencia la expresaremos con la palabra reservada extends.
Dentro de nuestra clase hijo podemos sobreescribir algún método del padre, esto es
un concepto que conocemos como polimorfismo. Lo que polimorfismo quiere decir
es que tendremos un método que va a funcionar de acuerdo con su contexto donde
es llamado.
Interfaces
Las interfaces se pueden ver como un contrato o un acuerdo en el que se pueden
estandarizar ciertas cosas.
La palabra reservada que utilizaremos para declarar una interfaz será interface. Y la
que nos indicará que estamos usando una interfaz en una clase será implements.
Usando Type Hinting estableceremos el tipo de dato que esperamos ya sea una
clase o un tipo de dato específico.
La herencia en PHP será de forma sencilla es decir solo que podrá hacer herencia
de una sola clase, por lo contrario, con las interfaces que sí podemos implementar
varias al mismo tiempo.
Namespaces
Esta es una forma de mantener únicos los nombres de los archivos en el mismo
directorio. Esto nos permite tener mejor organizado el proyecto.
PSR y PHPFIG
Varios programadores se unieron para crear un grupo llamado PHP-FIG con el
objetivo de avanzar en la interoperabilidad de librerías en PHP.
Este grupo creó el PSR que son recomendaciones y estándares para tu código de
PHP: https://www.php-fig.org/psr/
Composer
Vamos a añadir a nuestro proyecto un manejador de dependencias de PHP llamado
Composer, no solo nos ayudará a traer librerías de tercero al proyecto además va a
implementar el estándar PSR4 que nos va a permitir tener el cargado de archivos
automático.
composer.phar será un documento que nos servirá para manejar las dependencias
en PHP, esta va muy de la mano con otro archivo llamado composer.json.
5. Bases de Datos
ORM
Un ORM, que significa Object Relational Mapping, es un concepto en el cual vamos
a crear dentro de nuestro código algunos modelos basados en las tablas de nuestra
base de datos.
7. Template engines
8. Validaciones
9. Subida de archivos
10. Autenticación de usuarios y manejo de sesiones
11. Liberación de código/release