Gracias por ir directo a lo práctico. Qué bueno.
Estamos renovando el Curso de Introducción a PHP
¡Renovamos este curso!
Introducción
Presentación, contenidos y proyecto
Características de PHP
Antes de comenzar y Sintáxis
Introducción a PHP
Manejo de Variables y Tipos de Datos en PHP
Utilización de Cadenas de Caractéres en PHP
Arreglos
Operadores
Operadores - Aritméticos
Asignación
Comparación
Arrays
Incremento
Lógicos
Null
Funciones
Funciones en PHP
Estructuras Condicionales
Estructuras de Ciclos
Cargas de Archivos Externos
Manejo de Sesiones
Manejo de Cookies
Funciones Anónimas
Programación Orientada a Objetos
Introducción a Programación Orientada a Objetos
Constructor y Destructor
Herencia
Namespaces
Static
Abstract y Polimorfismo
Interface
Excepciones
Traits
PDO y SQL
Introducción a bases de datos SQL con PHP
Conexión desde PHP a una base de datos SQL
Insertar datos en nuestra de base de datos
Listar nuestros usuarios de la base de datos
Actualizar un Usuario en Nuestra Base de Datos
Borrar un usuario de nuestra base de datos
Cómo proteger nuestra base de datos ante ataques de SQL Injection
Construyento Nuestro Propio Blog
Creando la vista principal del Blog usando Bootstrap
Administrando los artículos del blog
Guardando los blogposts en la base de datos
Composer y carga automática de archivos
Creando la Organización de Nuestro Blog
Introducción a Front Controller
Introducción a Router
Renderizando las vistas desde un método
Agregando el resto de las rutas a nuestro Router
MVC y Templates en Nuestro Blog
El patrón de diseño Model-View-Controller en PHP
¿Por qué usar un motor de templates en PHP?
Instalación y configuración de Twig
Templates de vistas con Twig
Extendiendo layouts con Twig
Modelos con Eloquent
Configuración de variables de entorno
Validaciones de formularios en PHP
Usuarios
Agregando un modelo para los usuarios del blog
Crear usuarios para el blog
Autenticación de usuarios en PHP
Logout de usuarios
Detalles Finales
Protege ciertas rutas con middlewares y filtros
Subir archivos al servidor
Guardando un log de errores en el servidor
Página para el detalle del blogpost
Paginación
Editar y borrar blogposts
Agregar validación del lado del cliente
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
¿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
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() 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.
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.
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?