Estamos renovando el Curso de Introducción a PHP

1

¡Renovamos este curso!

Introducción

2

Presentación, contenidos y proyecto

3

Características de PHP

4

Antes de comenzar y Sintáxis

Introducción a PHP

5

Manejo de Variables y Tipos de Datos en PHP

6

Utilización de Cadenas de Caractéres en PHP

7

Arreglos

Operadores

8

Operadores - Aritméticos

9

Asignación

10

Comparación

11

Arrays

12

Incremento

13

Lógicos

14

Null

Funciones

15

Funciones en PHP

16

Estructuras Condicionales

17

Estructuras de Ciclos

18

Cargas de Archivos Externos

19

Manejo de Sesiones

20

Manejo de Cookies

21

Funciones Anónimas

Programación Orientada a Objetos

22

Introducción a Programación Orientada a Objetos

23

Constructor y Destructor

24

Herencia

25

Namespaces

26

Static

27

Abstract y Polimorfismo

28

Interface

29

Excepciones

30

Traits

PDO y SQL

31

Introducción a bases de datos SQL con PHP

32

Conexión desde PHP a una base de datos SQL

33

Insertar datos en nuestra de base de datos

34

Listar nuestros usuarios de la base de datos

35

Actualizar un Usuario en Nuestra Base de Datos

36

Borrar un usuario de nuestra base de datos

37

Cómo proteger nuestra base de datos ante ataques de SQL Injection

Construyento Nuestro Propio Blog

38

Creando la vista principal del Blog usando Bootstrap

39

Administrando los artículos del blog

40

Guardando los blogposts en la base de datos

41

Composer y carga automática de archivos

Creando la Organización de Nuestro Blog

42

Introducción a Front Controller

43

Introducción a Router

44

Renderizando las vistas desde un método

45

Agregando el resto de las rutas a nuestro Router

MVC y Templates en Nuestro Blog

46

El patrón de diseño Model-View-Controller en PHP

47

¿Por qué usar un motor de templates en PHP?

48

Instalación y configuración de Twig

49

Templates de vistas con Twig

50

Extendiendo layouts con Twig

51

Modelos con Eloquent

52

Configuración de variables de entorno

53

Validaciones de formularios en PHP

Usuarios

54

Agregando un modelo para los usuarios del blog

55

Crear usuarios para el blog

56

Autenticación de usuarios en PHP

57

Logout de usuarios

Detalles Finales

58

Protege ciertas rutas con middlewares y filtros

59

Subir archivos al servidor

60

Guardando un log de errores en el servidor

61

Página para el detalle del blogpost

62

Paginación

63

Editar y borrar blogposts

64

Agregar validación del lado del cliente

65

Cierre del Curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Antes de comenzar y Sintáxis

4/65
Recursos

Antes de Comenzar y Sintáxis

¿Qué necesitamos para programar en PHP?

Usaremos:

  • PHP

  • HTML
    Que es un lenguaje demarcado para crear páginas web.

  • JavaScript
    Que nos ayuda a programar cosas del lado del cliente.

  • CSS
    Que nos ayuda a dar estilo a nuestro sitio

  • Apache
    Un servidor web que nos permitirá recibir peticiones, interpretarlas y devolverlas al cliente.

  • MySQL
    En bases de datos comenzaremos a utilizar MySQL.

  • XAMPP - Entorno de Desarrollo
    Utilizaremos una herramienta de desarrollo que es XAMPP, la cual nos permite crear un entorno de desarrollo.

Para instalar XAMPP vamos a https://www.apachefriends.org/, XAMPP nos ofrece un entorno de desarrollo completo de una forma muy sencilla. Este está disponible para diferentes plataformas. En este caso descarguen XAMPP que soporte PHP 7 porque esa es la versión del lenguaje que estaremos trabajando. Una vez la hayan descargado ya tienen un entorno funcional y encontrarán una pequeña consola que les permitirá manejar el estado de sus servidores. En la segunda pestaña que es para administrar servidores. Aquí pueden ver que tengo corriendo el servidor de Apache.

Cuando se haya instalado XAMPP ustedes pueden ir al navegador y dirigirse a localhost, el cual es el nombre del servidor que estaremos utilizando.

Desde el panel de control ustedes verán ustedes verán una opción para abrir el folder de la aplicación, esto les abrirá una carpeta en donde encontrarán un acceso directo a htdocs, esta es la carpeta en donde se encuentran todos los archivos que serán servidos a través del servidor web.

Vamos a crear aquí una carpeta que se llame Curso PHP y con esto comenzaremos a trabajar.

  • Visual Studio Code / Sublime Text - Editor de Código

  • PHPStorm - IDE
    Estos son ejemplos de editores de código que podemos usar para trabajar con desarrollos en PHP.

Sintáxis:

Vamos a crear una nueva carpeta a la cual llamaremos “Hello-world” y dentro vamos a crear nuestro archivo “index.php”.

Un archivo de Php siempre comienza con el tag:
<?php
Esto quiere decir que después de esa línea todo el código que se escriba será interpretado por php.

En este ejemplo sola utilizaremos:
echo ‘Hello World’;

Php se puede cerrar utilizando el tag de cierre de php:
?>

Otra forma en la que podemos usar PHP es haciéndolo dentro de código HTML:

<html>
    <head>
        <title>My first script</title>
     </head>
            <body>
                <?php
                    echo ’Hello World;
                ?>
            </body>
  </html>

Dentro del tag body, vamos a abrir líneas en php. De esta manera podemos entrar o salir del modo PHP.

Aunque aquí se vea así, para el cliente el código siempre será interpretado y ejecutado dentro de la interfaz.

Aportes 6

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Gracias por ir directo a lo práctico. Qué bueno.

Sabes que será emocionante aprender y crear cuando ves tu primer hello world! hahah 😄

Listo, se pudo instalar mi servidor web en windows

Nuevas características de PHP 5.6 a 7.x

Declaraciones de tipo escalar

Las declaraciones de tipo escalar son de dos tipos: coercitivo (por defecto) y estricto. Ahora se pueden forzar los siguientes tipos para parámetros (tanto coercitiva como estrictamente): cadenas de caracteres (string), números enteros (int), números decimales (float), y booleanos (bool). Estos se añaden a los tipos introducidos en PHP 5: nombres de clases, interfaces, arrays y callables.

Declaraciones de tipo de devolución

PHP 7 añade soporte para declaraciones de tipo de devolución. Similarmente a las declaraciones de tipo de argumento, las declaraciones de tipo de devolución especifican el tipo del valor que será devuelto por una función. Están disponibles los mismos tipos tanto para las declaraciones de tipo de devolución como para las declaraciones de tipo de argumento.

Operador de fusión de null

El operador de fusión de null (??) se ha añadido como aliciente sintáctico para el caso común de la necesidad de utilizar un operador ternario junto con isset(). Devuelve su primer operando si existe y no es NULL; de lo contrario devuelve su segundo operando.

El operador nave espacial

El operador nave espacial se emplea para comparar dos expresiones. Devuelve -1, 0 o 1 cuando $a es respectivamente menor, igual, o mayor que $b. Las comparaciones se realizan según las reglas de comparación de tipos usuales de PHP.

Arrays constantes con define()

Ahora se pueden definir constantes de array con define(). En PHP 5.6, solamente se podían definir con const.

Clases anónimas

Se ha añadido soporte para clases anónimas mediante new clase. Estas se pueden utilizar en lugar de definiciones de clases completas para objetos desechables.

Sintaxis de escape de puntos de códigos de Unicode

Esta sintaxis toma un punto de código de Unicode en forma hexadecimal, e imprime ese punto de código en UTF-8 a un string con entrecomillado doble o a un heredoc. Se acepta cualquier punto de código válido, siendo los ceros iniciales opcionales.

Closure::call()

Closure::call() es una manera más eficiente y abreviada de vincular temporalmente un ámbito de objeto a un cierre e invocarlo.

Filtros para unserialize()

Esta característica busca el proporcionar una mejor seguridad al deserializar objetos en datos no fiables. Previene de posibles inyecciones de código al capacitar al desarrollador a crear listas blancas de clases que deden ser deserializadas.

IntlChar

La nueva clase IntlChar busca exponer funcionalidad adicional de ICU. La clase en sí define varios métodos estáticos y constantes que se pueden emplear para manipular caracteres Unicode.

Previsiones

Las previsiones son una mejora retrocompatible con la antigua función assert(). Con ellas se pueden realizar afirmaciones sin coste en código de producción, proporcionando la capacidad de lanzar excepciones personalizadas cuando la afirmación falla.

Declaraciones de *use* en grupo

Las clases, funciones y constantes que se importen desde el mismo namespace ahora pueden ser agrupadas en una única sentencia use.

Expresiones ‘return’ en generadores

Esta característica se basa en la funcionalidad de los generadores introducida en PHP 5.5. Habilita a la sentencia return para utilizarla dentro de un generador para que pueda devolver una expresión final (la devolución por referencia no está permitida). Este valor se puede obtener empleando el nuevo método Generator::getReturn(), el cual solamente se puede utilizar una vez que el generador ha finalizado de producir valores.

Delegación de generadores

Los generadores ahora pueden delegar a otro generador, objeto Traversable o array de forma automática, sin la necesidad de escribir «clichés» en el generador más externo con la construcción yield from.

División entera con intdiv()

La nueva función intdiv() realiza una división entera de sus operandos y la devuelve.

Opciones de sesión

session_start() ahora acepta un array de opciones que sobrescriben las directivas de configuración de sesiones establecidas normalmente en php.ini.

preg_replace_callback_array()

Con la nueva función preg_replace_callback_array(), el código escrito es más claro al emplear la función preg_replace_callback(). Antes de PHP 7, las retrollamadas que necesitaban ser ejecutadas por cada expresión regular requerían que la función de retrollamda fuera contaminada con muchas ramificaciones.

Funciones de CSPRNG

Se han añadido dos nuevas funciones para generar números enteros y cadenas de caractéres criptográficamente seguros de una forma multiplataforma: random_bytes() y random_int().

Fuente: Nuevas características PHP

Buena introducción

Gracias master