Socieboy Forumes un paquete para Laravel 5.1 que cumple con las funcionalidades básicas para agregar un foro a nuestra aplicación de manera sencilla y que se adapte perfectamente a nuestros requerimientos.
Taylor tiene una capacidad de sorprendernos con nuevos features que poseen una interfaz más sencilla de lo que podrías haberte imaginado; y hoy es uno de esos días: con ayuda de Adam Wathan, Laravel estrena un nuevo componente de autorización y políticas de acceso, que te permitirá de una manera increíblemente fácil, bloquear (o permitir) el acceso a ciertas partes de tu aplicación.
Lo mejor es que puedes definirlo con closures o clases y usarlo dentro de los controladores, las plantillas de Blade o cualquier parte de tu sistema.
En lecciones anteriores hablábamos sobre algunas de las funcionalidades de este nuevo componente «Styde\Html» creado por el fundador de Styde.Net, Duilio Palacios; pero todavía nos queda mucho camino por recorrer para explicar todas las ventajas que nos brinda este paquete.
En este tutorial hablaremos sobre otra de sus funciones: se trata de la capacidad de crear mensajes de alerta y notificaciones.
Si estás siguiendo este curso, muy probablemente ya te guste PHP; aún así, es difícil ignorar la gran cantidad de críticas que ha recibido este lenguaje desde hace varios años.
Pero estoy convencido de que el 99% de esas personas sólo conocieron PHP 4, quizás un poco de PHP 5.0, y no tienen ni idea de las novedades de PHP 7 o de features como el que aprenderemos en la clase de hoy.
En esta clase, vamos a aprender sobre el uso de Reflection con PHP, el cuál nos provee de un API para hacerle ingeniería inversa a nuestras clases.
Con las diferentes clases provistas por Reflection como: ReflectionClass, ReflectionMethod, ReflectionParameter, entre otras, vamos a poder obtener toda la información de las clases, objetos, funciones métodos, inclusive comentarios de nuestra aplicación. Por ejemplo, ¿Tiene esta clase o no un constructor? ¿Requiere este método o no de parámetros y cuáles son? Etc.
Laravel, utiliza este feature de PHP para implementar la resolución automática de clases, a través de su contenedor de inyección de dependencias; es decir, hace posible que un controlador como éste (que vimos en el curso crea tu primera aplicación con Laravel), sea instanciado automáticamente por el framework -a pesar de sus dependencias- y obtengamos el TicketRepository ya cargado como por arte de magia:
class TicketsController extends Controller {
private $ticketRepository;
public function __construct(TicketRepository $ticketRepository)
{
$this->ticketRepository = $ticketRepository;
}
}
Pero no es magia y hoy te enseñaré exactamente cómo funciona ¿Estás listo?
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 29/08/2015 PHP, Programación orientada a objetosComentarios desactivados en Creación de un contenedor de inyección de dependencias para PHP
Bienvenidos a la cuarta lección de la segunda parte de este Curso de creación de componentes para PHP y Laravel, en esta ocasión vamos a aprender a crear un contenedor de inyección de dependencias que pueda ser reusado en cualquiera de nuestros proyectos.
Conocimientos previos
En esta lección, primero crearemos el diseño del código escribiendo las pruebas unitarias con PHPUnit, y a partir allí iniciaremos el desarrollo del código, por ello te recomendamos que hayas visto la parte 1 de este mismo curso, antes de continuar.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 28/08/2015 PHP, Programación orientada a objetosComentarios desactivados en Introducción a los contenedores de inyección de dependencias
Para reducir la cantidad de código que necesitamos cuando implementamos el patrón de inyección de dependencias, debemos crear otro objeto llamado contenedor de inyección de dependencias, el cuál será un objeto que conocerá cómo instanciar y «ensamblar» otros objetos. De esta manera podremos extraer la lógica requerida para crear el access handler y demás clases de nuestro proyecto demo a otra clase, como veremos a continuación…
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 27/08/2015 PHP, Programación orientada a objetosComentarios desactivados en Uso del patrón de inyección de dependencias dentro de un proyecto
En esta lección 2 de la segunda parte del curso Crear componentes con PHP y Laravel, vamos a empezar implementar el Access Handler en nuestro proyecto y nos encontraremos de frente con los problemas de usar el patrón de inyección de dependencias. Poco a poco iremos analizando las causas y posibles soluciones que nos permitirán implementar código bien diseñado de una manera fácil.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Muchas veces no comienzas un proyecto desde cero, sino que debes clonar e instalar uno ya existente, y esto puede parecer atemorizante, pero en realidad sólo tienes que seguir una serie de pasos bastante sencillos y estándares, cómo te mostraremos en este tutorial, de esta forma puedes evadir muchos de los problemas comunes al realizar esta tarea.
Bienvenido a la segunda parte del curso Crea componentes para PHP y Laravel.
En esta lección, nos apartaremos un momento de lo que hemos aprendido, sólo para preparar un escenario donde podamos implementar el AccessHandler realizado en lecciones anteriores y profundizar en la implementación del patrón de inyección de dependencias en todos los objetos, sin que se vuelva cuesta arriba instanciarlos y usarlos.
Regístrate para ver ésta y cientos de lecciones exclusivas.
¡Hola a todos! quiero compartir con ustedes un ejemplo de cómo se puede relacionar tres o más tablas utilizando una tabla pivot, esta pregunta surgió en la comunidad hecha por @alexd2 y me motivó a que compartiera la respuesta en forma de tutorial para que se beneficiaran más personas. Espero que les ayude.
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.