Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

La historia de cómo empecé con Laravel es muy común: Había escrito PHP durante años, pero estaba a punto de salir por la puerta persiguiendo el poder de Rails y otros frameworks web modernos. Rails en particular tenía una comunidad muy animada, una combinación perfecta de valores predeterminados y flexibilidad, y el poder de Ruby-Gems para aprovechar el código común preempaquetado.

Algo me impedía abandonar el barco, y me alegré de ello cuando encontré Laravel. Ofrecía todo lo que me atraía de Rails, pero no era simplemente un clon de Rails; se trataba de un framework innovador con una documentación increíble, una comunidad acogedora y claras influencias de muchos lenguajes y frameworks.

Desde ese día he podido compartir mi viaje de aprendizaje de Laravel a través de blogs, podcasts y conferencias; he escrito docenas de aplicaciones en Laravel para el trabajo y proyectos paralelos; y he conocido a miles de desarrolladores de Laravel online y en persona. Tengo un montón de herramientas en mi caja de herramientas de desarrollo, pero sinceramente soy más feliz cuando me siento delante de una línea de comandos y escribo laravel new projectName.

De qué trata este libro

Éste no es el primer libro sobre Laravel, ni será el último. No pretendo que sea un libro que cubra cada línea de código o cada patrón de implementación. No quiero que sea el tipo de libro que se desactualiza cuando sale una nueva versión de Laravel. En su lugar, su objetivo principal es proporcionar a los desarrolladores una visión general de alto nivel y ejemplos concretos para aprender lo que necesitan para trabajar en cualquier base de código Laravel con todas y cada una de las características y subsistemas de Laravel. En lugar de reflejar la documentación, quiero ayudarte a entender los conceptos básicos de Laravel.

Laravel es un framework PHP potente y flexible. Cuenta con una próspera comunidad y un amplio ecosistema de herramientas, y como resultado, está creciendo en atractivo y alcance. Este libro es para desarrolladores que ya saben hacer sitios web y aplicaciones y quieren aprender a hacerlo bien en Laravel.

La documentación de Laravel es exhaustiva y excelente. Si consideras que no cubro algún tema en particular con la suficiente profundidad para tu gusto, te animo a que visites la documentación en línea y profundices en ese tema concreto.

Creo que encontrarás en el libro un cómodo equilibrio entre introducción de alto nivel y aplicación concreta, y al final deberías sentirte cómodo escribiendo una aplicación completa en Laravel desde cero. Y, si he hecho bien mi trabajo, estarás deseando intentarlo.

A quién va dirigido este libro

Este libro de asume el conocimiento de prácticas básicas de programación orientada a objetos, PHP (o al menos la sintaxis general de los lenguajes de la familia C), y los conceptos básicos del patrón Modelo-Vista-Controlador (MVC) y las plantillas. Si nunca has creado un sitio web, puede que te encuentres desbordado. Pero siempre que tengas alguna experiencia en programación, no hace falta que sepas nada de Laravel antes de leer este libro: cubriremos todo lo que necesitas saber, desde el más sencillo "¡Hola, mundo!".

Laravel puede ejecutarse en cualquier sistema operativo, pero habrá algunos comandos bash (shell) en el libro que son más fáciles de ejecutar en Linux/macOS. Los usuarios de Windows pueden tener más dificultades con estos comandos y con el desarrollo PHP moderno, pero si sigues las instrucciones para poner en marcha Homestead (una máquina virtual Linux), podrás ejecutar todos los comandos desde allí.

Cómo está estructurado este libro

Este libro está estructurado en lo que imagino que es un orden cronológico: si estás creando tu primera aplicación web con Laravel, los primeros capítulos cubren los componentes básicos que necesitarás para empezar, y los últimos capítulos cubren características menos básicas o más esotéricas.

Cada sección del libro puede leerse por sí sola, pero para alguien nuevo en el marco, he intentado estructurar los capítulos de modo que resulte muy razonable empezar por el principio y leer hasta el final.

Cuando proceda, cada capítulo terminará con dos secciones: "Pruebas" y "TL;DR". Si no estás familiarizado, "TL;DR" significa "demasiado largo; no leí". Estas secciones finales te mostrarán cómo escribir pruebas para las funciones tratadas en cada capítulo y te darán una visión general de alto nivel de lo tratado.

El libro está escrito para Laravel 10.

Acerca de la Tercera Edición

La primera edición de Laravel: Up & Running salió en diciembre de 2016 y cubría las versiones 5.1 a 5.3 de Laravel. La segunda edición salió en abril de 2019 y añadió cobertura para las versiones 5.4 a 5.8 y Laravel Dusk y Horizon, y añadió un 18º capítulo sobre recursos de la comunidad y otros paquetes no centrales de Laravel que no se cubrieron en los primeros 17 capítulos. Esta tercera edición actualiza el libro a Laravel 10 y añade Breeze, Jetstream, Fortify, Vite y mucho más.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Constant width bold

Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.

Constant width italic

Muestra el texto del código que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

{Italicoentre llaves}

Muestra nombres de archivo o rutas de archivo que deben sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento indica una advertencia o precaución.

Aprendizaje en línea O'Reilly

Nota

Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.

Cómo contactar con nosotros

Dirige tus comentarios y preguntas sobre este libro a la editorial:

Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/laravel-up-and-running-3e.

Para noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.

Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media

Síguenos en Twitter: https://twitter.com/oreillymedia

Míranos en YouTube: https://www.youtube.com/oreillymedia

Agradecimientos

He recibido tanto apoyo de tanta gente durante este proyecto que no sé ni por dónde empezar.

Mi compañera, Imani, ha celebrado cada victoria, me ha animado muchísimo y se ha sentado a mi lado con el portátil abierto, tecleando furiosamente, mientras ambos nos esforzábamos por cumplir nuestros plazos. Mi hijo Malaquías y mi hija Mia han sido increíblemente amables y comprensivos con todo esto. Todo mi equipo de Tighten me ha apoyado y animado desde el primer día. Mis amigos Trent y Tevin han trabajado duro para crear espacios para el arte y los artistas, y estoy muy agradecida de formar parte de su pequeña familia.

He tenido una serie de ayudantes de investigación: Wilbur Powery, Brittany Jones Dumas, Reeka Maharaj y Ana Lisboa. Es imposible que hubiera podido escribir la segunda y la tercera edición con mi ajetreada vida actual sin su ayuda.

Hay tanta gente en la comunidad Laravel que merece agradecimiento en este momento que ni siquiera podría empezar a incluirlos a todos. Así que, a cada uno de vosotros que ha puesto tanto amor, devoción, cuidado, oficio... gracias. Gracias por las formas en que habéis ayudado a que esta comunidad sea un lugar increíble; gracias por tantos de vosotros que me habéis tendido la mano para animarme durante la paternidad, el divorcio, la pandemia, la depresión y cualquier otra cosa. Sois increíbles.

Taylor Otwell merece agradecimiento y honor por crear Laravel, y por tanto crear tantos puestos de trabajo y ayudar a tantos desarrolladores a amar nuestras vidas mucho más. Merece agradecimiento por cómo se ha centrado en la felicidad de los desarrolladores y por lo mucho que ha trabajado para tener empatía con los desarrolladores y construir una comunidad positiva y alentadora. Pero también quiero darle las gracias por ser un amigo amable, alentador y desafiante. Taylor, eres un jefe.

¡Gracias a todos mis revisores técnicos! Para la 1e: Keith Damiani, Michael Dyrynda, Adam Fairholm y Myles Hyson. Para el 2e: Tate Peñaranda, Andy Swick, Mohamed Said y Samantha Geitz. Para el 3e: Anthony Clark, Ben Holmen, Jake Bathman y Tony Messias.

Y, por supuesto, gracias al resto de mi familia y amigos, que me apoyaron directa o indirectamente a lo largo de este proceso: mis padres y hermanos, mis comunidades de Chicago y Gainesville y Decatur y Atlanta, otros propietarios de negocios y autores, otros ponentes de conferencias, otros padres y simplemente un número increíble de seres humanos maravillosos a los que estoy agradecida de haber conocido y con los que he interactuado.

Get Laravel: Up & Running, 3ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.