Platzi - Curso de Introducción A PHP 2018

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

Curso de Introducción a PHP

1. Introducción a PHP

¿Qué es PHP?

PHP es un lenguaje de programación de propósito general de alto nivel que fue


diseñado especialmente para el desarrollo de aplicaciones web.
Es interpretado, multiplataforma, open source, el cual ha sido muy popular en los
últimos años.

¿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.

2. Conceptos Básicos de PHP

Variables tipos de datos y cadenas:


Una variable puede ser una pequeña cajita en la que puedes almacenar un valor y este lo
pueden usar para realizar alguna operación.

Para declararla usaremos el símbolo de $ y en seguida el nombre, este puede ser un _ o


una letra.

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 de Datos en PHP


● Escalares:
○ Boolean: True or False
○ Integer: Número positivo, negativo o 0.
○ Float o Double: Representa un número de punto flotante.
○ String: Cadena de caracteres: Comillas simples para texto completo o
comillas dobles para utilizar una variable dentro de ellas.

● 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];
};

// Este es nuestro arreglo


$values = [3, 2, 1];

// Usamos nuestro callable y se imprime el valor 3


echo $firstOfArray($values);
?>
○ Iterable: Un pseudo tipo de dato que puede ser recorrido. Foreach.

● 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).

PHP utiliza índices para localizar a los elementos dentro de la variable.

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.

El primero que tenemos es do while que va a involucrar la inicialización de variables y


condiciones.
El segundo que veremos es “for” que es una forma más simplificada de usar todos los
elementos que componen los ciclos.

While vs. Do While

● 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:

foreach ($array as $valor) {


sentencias que pueden usar $valor
}

La palabra reservada foreach simplemente indica el inicio de nuestro bloque


Dentro de paréntesis se escribe el nombre del arreglo que vamos a estar iterando, este
arreglo debe estar definido previamente, en este ejemplo es $arreglo
La palabra “as” seguido de un nombre de variable que usaremos para acceder al elemento
del arreglo que estamos accediendo, esta variable no debe existir previamente y solo la
podrán usar dentro de este bloque. En el ejemplo es $valor.
Entre llaves “{ }” todas las acciones que queremos repetir, en el momento en que se ejecute
el ciclo la variable que definimos para iterar (en el ejemplo $valor) ya existe y podrá ser
usada en esta sección, piensa que el valor de esta variable estará cambiando en cada
iteración.

Nos permite conocer no solo el valor sino la llave:


foreach ($array as $llave => $valor) {
sentencias que pueden usar $llave y $valor
}

Operadores, Condicionales, Continue y Break


En PHP existen cuatro tipos principales de operadores:
● Aritméticos.
● Asignación.
● Condicionales.
● Incremento.

Aprovechemos para practicar y veamos más sobre condiciones, en PHP tenemos el


operador de comparación (==) y diferente de (!=).

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.

● continue: Sáltate a la siguiente iteración.


● +=: Variable de asignación.

Operadores
● Operadores aritméticos:

● Operadores de asignación: El operador principal de asignación es el símbolo =


(igual).
$a += $b
$a = $a + $b

● 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.

$var1 = ‘Hola ’ . ‘ php’;


$var1 .= ‘!!!’;
echo $var1;

Hola php!!!

● Operadores para arrays:

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.

Las funciones en PHP pueden o no regresar un dato particular. Si deseamos hacerlo


podemos indicarlo con la palabra reservada return.

Agregando archivos externos


Usaremos la palabra reservada include para hacer que el archivo index incluya el archivo,
si lo encuentra lo incluye, pero si no nos mostrará un warning. Existe otro llamado require
que si no lo encuentra nos muestra un error en todo el archivo.

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.

3. Programación Orientada a Objetos

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.

Es muy conveniente utilizar require_once cuando queremos utilizar herencia e incluir


clases que están en otros archivos.

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.

Si tenemos propiedades con la palabra private en nuestra clase padre, desde


nuestra clase hija no podremos acceder a esta propiedad, pero si queremos que
siga siendo privada y que las clases hijas tengan acceso podemos usar la palabra
clave protected.
En resumen la herencia nos permite reutilizar código entre nuestras clases y el
polimorfismo, en este ejemplo la sobreescritura, nos ayudará a que las clases
puedan reaccionar de una manera diferente a métodos con el mismo nombre.

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.

Para declarar un espacio de nombres privado se utiliza la palabra reservada


namespace.

4. Herramientas para Proyectos PHP

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

Introducción a las Bases de Datos


Las bases de datos son colecciones de datos que podemos usar para consultarla
almacenarla, ejecutar filtros, etc.
Cuando hablamos de aplicaciones web trabajaremos con sistemas manejadores de
bases de datos, o también conocidos como bases de datos relacionales.

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.

Una principal característica de un ORM es que hace más transparente las


conexiones a PostgreSQL y MySQL, además nos protege de algunas
vulnerabilidades de SQL y facilita algunas validaciones a la información.

6. Estructura/Arquitectura de una aplicación web

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

También podría gustarte