0% found this document useful (0 votes)
12 views10 pages

Laravel 2

Laravel description and explanations about who to create a Laravel App2

Uploaded by

Juan Garces
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
12 views10 pages

Laravel 2

Laravel description and explanations about who to create a Laravel App2

Uploaded by

Juan Garces
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 10
PRELIMINARES RELACIONES ENTRE MODELOS Tipos de relaciones.. Uno amuchos... Muchas una Uno auno. 180 Muchas a muchos: Tablas pivot... Relaciones distates, 19 Resumen. Actividades 10 INTERFACES DE USUARIO Recursos. Laravel Mix. Introduccion de JavaScript. 17 NPM. on WebPack.. Bootstrap, Resumen. Actividades FORMULARIOS Formularios on Laravel.. Collective, 204 Procasar formularios... 29 Pracesar archivos. 202 Model binding, 248 12 USUARIOS: Internacionalizacién.... Modtficar al idioma Middleware ‘Autenticacién. Personalizar la autentcacin.... Socialite Notificaciones: Notificacionas por e-mail Base de datos. Resumen. 281 287 13 TESTING Conceptos basicos de testing.. PHPUnit. Tests untarins Pruebas unitarias en Laravel. Code Coverage. PRELIMINARES cae INTRODUCCION La programacién es una actividad que, por lo general, demanda realizar sus primeros pasos en soledad. Si bien existen contexts en los que se nos invita a trabajar en grupo cuando estamos aprendiendo, llega un momento en el que es necesario sentarse y empezar a diagramar algoritmos para resolver la parte del problema que nos toca Desarrollar software estando solos y luego empezar a trabajar en grupo requiere de un gran salto, tanto técnico como metodolégico, y este libro tiene como objetivo darle herramientas al lector para ayudarlo a realizar mejor esa transicion. Es usual ver a disefiadores y maquetadores web devenidos en programadores PHP. Del mismo modo, podemos encontrar ese tipo de desarrolladores que establecen su carrera alrededor de sistemas empaquetados como CMS u otro tipo preparados en este lenguaje. Sin embargo, no es tan frecuente encontrar programadores que puedan adaptarse rapidamente a entornos de trabajo que contengan procesos de desarrollo para construir software de mediana o gran escala, y éste es un perfil muy requerido en el mercado. Al principio de la obra, estableceremos los conceptos principales que componen un framework y veremos de qué manera se distinguen de otro tipo de sistemas. Luego estudiaremos Laravel, el cual, ademas de ser el proyecto PHP de mayor tendencia segiin Github, presenta amplias ventajas para el desarrollo de aplicaciones web de calidad. En la actualidad, Laravel es uno de los frameworks PHP mas completos, y realizar un libro que permita abordar todos sus temas merece mas de un volumen. Por eso, esta obra apunta a que aquellos que nunca han trabajado en un framework puedan introducirse en uno haciendo uso de Laravel; no obstante, también hace referencia a varios lugares en los cuales el lector podra profundizar los conocimientos sobre el framework. Durante cada capitulo se analizara un aspecto del framework por medio de la construccién de médulos para un blog, por lo que al finalizar la obra, el lector podra contar con un proyecto completo realizado con Laravel. Es importante tener conocimientos basicos en PHP para poder abordar este texto, los cuales pueden adquirirse a través del libro PHP + MySQI, de esta misma editorial. También es fundamental contar con conocimientos basicos del paradigma de programacién orientada a objetos. Rn www.redusers.com En este capitulo conoceremos el concepto de framework, analizaremos las principales caracteristicas de Laravel e instalaremos todos los componentes necesarios para el ambiente de desarrollo. Por ultimo, trabajaremos con Composer, el sistema de manejo de librerias mas utilizado por los frameworks PHP. 1. CARACTERISTICAS E INSTALACION aS éQUE ES UN FRAMEWORK? Podemos asociar el termino framework a un subsistema y/o conjunto de librerias que proveen funcionalidades estandar a cualquier sistema; sin embargo, esta definicion es incompleta, ya que ademas nos brinda: Una estructura de carpetas y archivos para organizar el codigo. Una arquitectura para desarrollar un proyecto. Seguridad, ya que los frameworks son actualizados frecuentemente para poder implementar medidas contra nuevas amenazas. Robustez, porque los frameworks on utilizados por muchos programadores en diversos proyectos: en consecuencia, cada framework esta expuesto a un alcance mucho mayor al que podemos lograr escribiendo nuestro propio cédigo. Soporte, ya que al ser utilizado por otros programadores, es muy facil encontrar a alguien que haya tenido el mismo problema que podamos tener nosotros y que no logremas resolver. Un conjunto de buenas practicas de programacién para tener nuestro cédigo lo mas legible posible, de manera tal que podamos entender el cédigo escrito por otro programador y, a la vez, hacer que el nuestro sea mas entendible para los demas. En sintesis, una definicién mas completa de framework es la siguiente: un conjunto de estructuras y componentes de software predefinidos e interconectados que sirven de base para la organizacion y el desarrollo de sistemas con propésitos generales. éQué no es un framework? Si realizamos una bisqueda en Internet con los términos Framework PHP, podemos encontrar una gran cantidad de sistemas que, muchas veces, no califican técnicamente como framework. En la Tabla 1 conoceremoas los distintos tipos de sistemas existentes, de modo de poder diferenciarlos con respecto a los frameworks. “4 www.redusers.com Caos INTRODUCCION A LARAVEL. > CLASIFICACION DE SISTEMAS BASADOS EN SU ORIENTACION Secu Mae tL) eed No estén construidos en torno a una orientacion especifica, se los denomina de ropésitos generales. Framework Sistemas dedicados al comercio electronic, Permiten crear sitios web cuyas paginas pueden ser editadas directamente desde el navegador. lf Tabla 1. Sistemas PHP que permiten crear sitios web. Aplicaciones de un framework Los frameworks se caracterizan por que pueden servir para crear cualquier tipo de sistema, ya que al estar orientados a propdésitos generales, no tienen conceptos de una orientacion en particular. Por lo tanto, podemos usar un framework para hacer CMS, e-commerce, VLE 0 Wikis y muchas cosas mas. Sin embargo, esta propiedad no es reversible, ya que cambiar un sistema de una orientaci6n a otra puede llegar a tener un costo demasiado alto en términos de tiempos de desarrollo, performance y robustez. La eleccion correcta del sistema para construir un sitio web depende mucho del problema que queramos atacar. Si el problema es muy acotado, con una proyeccién de cambios muy baja y en el cual un sistema con orientacién particular satisfaga las necesidades generales, la mejor alternativa podria no ser un framework. www.redusers.com 6 1. CARACTERISTICAS E INSTALACION Bees Sin embargo, cuando las necesidades del problema se vuelven muy particulares, con reglas de negocio muy complejas, entonces un framework es la mejor eleccin. Cuando nos convencemos de que es conveniente utilizar un framework para llevar adelante un proyecto, surge la siguiente pregunta: {qué framework nos conviene clegir? PHP ofrece muchos frameworks, algunos de los cuales se encuentran desde hace mucho tiempo en el mercado, mientras que otros son mas recientes. En la Tabla 2 podemos ver algunos de los mas reconocidos La aaa Lama LAL) Pere mA Berea ral Laravel Junio 2011 Esel framework PHP mas _https:/laravel.com utlizado del momento. Su filosofia es crear codigo simple y elegante. ‘Symfony Octubre 2005 Este framework puede http;//symfony.com ser utlizado para crear proyectos web y como un conjunto de componentes reutiizables; de hecho, Laravel reutiliza muchos componentes de Symfony. Zend | “Marzo ‘2008 iene una implementacion | nttpsi/framework.zend. com orientada 100% a la Programacion orientada a objetos. Codelgniter Febrero 2006 Esta compuesto por unkit —_https://codeigniter.com de herramientas simples y elegantes para crear aplicaciones web. Phalcon Noviembre 2012 | Es conocido por funcionar _https://phalconphp.com/ como una extension en es/ Zephir/C, de manera tal que el couigu gerier ado es compilado. I Tabla 2. Los frameworks PHP que permiten crear distintas aplicaciones y sitios web. 6 www.redusers.com ees INTRODUCCION A LARAVEL LARAVEL Como ya sabemos, existen muchos frameworks PHP disponibles en el mercado, y Laravel es relativamente nuevo comparado con los principales que fueron presentados en la Tabla 2. Veamos un poco acerca de su historia. Historia de Laravel En el afio 2011, uno de los frameworks PHP mas populares era Codelgniter. Sin embargo, muchas funcionalidades fundamentales para la creaci6n de aplicaciones web, como la autenticacion, no estaban incorporadas en él, motivo por el cual Taylor Otwell, un programador web, decidié crear un framework que las incluyera. En un principio, Laravel no fue creado con el patrén de arquitectura MVC, y su foco estaba puesto principalmente en resolver problemas de autenticacion. No obstante, la primera versién incorporaba funcionalidades que fueron bien recibidas, y de forma rapida, por la comunidad de desarrolladores. La segunda version tard menos de seis meses en salir al mercado. Laravel termin6 de adoptar el patron MVC para su arquitectura e incorporé el siguiente slogan: Liberandote del codigo espagueti, Laravel te ayuda a crear aplicaciones maravillosas usando una sintaxis simple y expresiva. El desarrollo debe ser una experiencia creativa que disfrutes, no algo que sea doloroso. Disfruta del aire fresco. Sistemas basados en Laravel Es muy importante dedicar tiempo a estudiar bien el problema que debemos resolver y analizar las herramlentas disponibles en el mercado antes de elegir una para crear nuestra aplicaci6n. Existen también sistemas basados en Laravel que estén orientados a propésitos particulares. por ejemplo. Statamic. https://statamic.com. y OctoberCMS. https:// octobercms.com, que son CMS basados en Laravel. www.redusers.com 7 1. CARACTERISTICAS E INSTALACION ee Es de destacar que, a partir de junio de 2015, Laravel comenz6 a distribuir versiones LTS (Long Term Support). {Por qué es importante esto? Las versiones LTS estan disefladas para ser soportadas durante un periodo mas largo de lo normal, proveen correcci6n de errores durante dos afios. y la aplicacion de medidas de seguridad durante tres afos. Considerando que hoy en dia la tecnologia avanza muy rapidamente, es importante contar con herramientas que garanticen un periodo de continuidad, sobre todo, teniendo en cuenta la creacion de proyectos que se pueden desarrollar a mediano a largo plaza Laravel en la actualidad EI slogan actual de Laravel es el siguiente: éAmas el cédigo hermoso? Nosotros también. Laravel, el framework para los artesanos de la Web. fe | bape nmntomtom Vg tee ase rr Love beautiful code? We do too. @ Figura 1. Laravel todavia mantiene la idea de construir provectos con cédigo simple y expresivo. sredusers.com eg INTRODUCCION A LARAVEL Algunas de las caracteristicas que podemos destacar de Laravel son las siguientes: Posee una buena curva de aprendizaje. Tiene una documentacion muy completa, simple y gratuita. Cuenta con una gran comunidad de desarrolladores, https://laravel.io. Es el proyecto mas popular en github desarrollado con PHP. Utiliza muchos componentes de Symfony, el cual es el segundo proyecto PHP mas popular en github. Brinda un conjunto de servicios y herramientas de infraestructura que facilitan su puesta en funcionamiento en diferentes entornos, tales como Forge y Homestead. Ofrece versiones LTS (Long Term Support). Su ultima version LTS, la 5.5, fue lanzada en agosto de 2018 y tendré actualizaciones de seguridad hasta 2020, lo cual la hace ideal para llevar a cabo proyectos de amplia longevidad. Sigue el patron de arquitectura Modelo-Vista-Controlador (MVC). Provee un poderoso ORM, Eloquent, que esté basado en el patron active record. Utiliza un sistema de plantillas con un sistema de caché que permite mejorar la performance de los sitios desarrollados con Laravel. Frameworks propios En una primera impresi6n, aprender a utilizar un framework nuevo de un desconocido puede parecer mas dificil que crear uno con nuestras manos. Sin embargo, hay que considerar que, al utilizar un framework abierto, contamos con soporte de una comunidad y, en muchos ‘casos, con una buena documentacién, lo cual permite que sea mas sencillo incorporar Nuevos programadores a nuestro proyecto. www.redusers.com a) 1, CARACTERISTICAS E INSTALACION ea El ecosistema Laravel Debido a su popularidad, se crearon muchas herramientas para facilitar el desarrollo de sistemas con Laravel, entre las cuales podemos destacar las siguientes: Homestead Es la maquina virtual oficial utilizada como ambiente de desarrollo para proyectos Laravel. Brinda todo lo necesario para ejecutar el framework junto con herramientas iitiles para el desarrollo. Lumen Es una versién reducida de Laravel pensada para el desarrollo de servicios web. Al tener ese foco, hace que sea mucho mas rapida y liviana que la versién tradicional de Laravel. Laravel Cashier Es una interfaz que puede integrarse a servicios de administracién de suscripciones, como Stripe y Braintree. Statamic Es un CMS construido con Laravel. I Figura 2. El ecosistema de Laravel permite optimizar tiempos y procesos de desarrollo. 20 www.redusers.com

You might also like