Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Conociendo a Laravel, el Framework de PHP para artesanos de la web
Next
Download to read offline and view in fullscreen.

Share

Desarrollo rápido de apps web con laravel - DevAcademy

Download to read offline

Laravel, es el framework PHP de código abierto de mayor aceptación actualmente para este lenguaje, y su simplicidad en la sintaxis, su elegancia en la escritura, su motor de plantillas incorporado, la potencia de composer y de artisan para su manejo y los complementos con los que cuenta, hacen que PHP que para muchos estaba empezando a quedarse en el olvido, vuelva a ser rescatado y sea ahora un lenguaje moderno, rápido, eficiente y profesional trabajado desde Laravel.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Desarrollo rápido de apps web con laravel - DevAcademy

  1. 1. Desarrollo Rápido de Apps Web con Laravel / jorlive @jlinformatico #DevHangout Laravel for Dummies
  2. 2. Mi Perfil Jorge Antonio Linares Vera Desarrolador Backend Laravel & Ruby On Rails en Noveltie ● Desarrollador de la plataforma www.linvermet.com ● CEO redaventura.com (startup) ● Director de I+D Comunidad Tacna Valley ● Fundador de la Comunidad de Software Libre BasadrinuX - Tacna
  3. 3. Motivación ●Desarrollar con buenas prácticas en PHP y con el patrón MVC. ● Agilizar el desarrollo de proyectos web con el framework laravel 4.
  4. 4. Agenda ●Qué es Laravel? ● Fundamentos Laravel ●Mi primer ciclo MVC ●Desarrollando mi App Laravel
  5. 5. PHP App Development
  6. 6. ¿Qué es Laravel? Nuevo Resurgir de PHP @jlinformatico
  7. 7. Introducción ● Laravel, es el framework PHP de código abierto de mayor aceptación actualmente para construir aplicaciones web de forma expresiva y elegante por su simplicidad en la sintaxis, su elegancia en la escritura, su motor de plantillas incorporado, la potencia de composer y de artisan para su manejo y los complementos con los que cuenta.
  8. 8. Filosofía ● La programación no tiene que ser aburrida y repetitiva. ● Busca reducir sintaxis de código. ● Se puede disfrutar lo que se hace sin eliminar funcionalidades en nuestras aplicaciones o sacrificar otras cosas. ● Enfocado enormemente a reutilizar conocimiento.
  9. 9. Filosofía ● Tomar lo mejor de otros Frameworks como Ruby on Rails, Sinatra, ASP .NET MVC y por supuesto Symfony. ● Adecuado para aplicaciones de cualquier tamaño. ● Enfocada en patrones de desarrollo para influenciar buenas prácticas.
  10. 10. Por qué Laravel? ●Una Comunidad activa que va creciendo. ●Desarrollo activo que garantiza corrección de problemas de seguridad, mejoras, etc. ●Buena Documentación y bien explicado.
  11. 11. Características ● Va por la versión 4 publicada en Mayo del 2013 (actualmente en la versión 4.2). ● Creado en 2011 por Taylor Otwell - https://twitter.com/taylorotwell ● Publicado bajo la licencia open source MIT - http://opensource.org/licenses/MIT ● Está inspirado en Ruby on Rails y Symfony, de quien posee muchas dependencias. ● Está diseñado para desarrollar bajo el patrón MVC. ● Autentificación fácil de implementar. ● Muchos components de Symfony
  12. 12. Artisan Cliente de consola que nos permite ejecutar comandos propios del framework. ● Comandos básicos para artisan: http://cheats.jesse-obrien.ca/
  13. 13. Composer Composer el nuevo gestor de paquetes y de dependencias de PHP. Esto quiere decir que Composer va a descargar de sus repositorios todas las librerías y las dependencias con las versiones requeridas que el proyecto necesite y manejarlas en un solo lugar de manera ordenada. Obtenerlo desde: https://getcomposer.org/
  14. 14. Eloquent ORM (Object-Relational Mapping) ● Posee un sistema de mapeo de datos relacional llamado Eloquent ORM, que nos permite interactuar con nuestra base de datos como si cada tabla fuera un Modelo, respetando más fielmente la división MVC.
  15. 15. Sistema de Plantillas Blade ● Utiliza un sistema de procesamiento de plantillas llamado Blade, el cual hace uso de la cache para darle mayor velocidad.
  16. 16. Fuentes Libros: ● Laravel: Code Bright - https://leanpub.com/codebright ● Getting Started with Laravel 4 ● Laravel: From Apprentice To Artisan - https://leanpub.com/laravel ● Laravel Testing Decoded - https://leanpub.com/laravel-testing-decoded Web: ● Documentación Oficial: http://laravel.com/docs
  17. 17. Lo que necesitas saber Para comenzar a emprender un proyecto web, requieres de conceptos básicos: ● Por qué trabajar con Frameworks ● Buenas prácticas de desarrollo ●Desarrollar con Patrón MVC ● PHP 5 y POO ● GIT / github ● Servidores Web ● Comandos básicos en Gnu/Linux ●Otros Lenguajes y Frameworks.
  18. 18. Framework ● Framework es un marco de trabajo (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación.
  19. 19. Microframeworks ● Phalcon, Silex, BulletPHP, Slim, Limonade, Fat-Free framework, Wave Framework, Recess PHP, Tonic.
  20. 20. CMS en Laravel Estable: ● Laravel Bootstrap https://github.com/davzie/laravel-bootstrap ● TypiCMS: https://github.com/sdebacker/TypiCMS ● Bootstrap starter site https://github.com/andrewelkins/Laravel-4-Bootstrap-S tarter-Site ● Pongo CMS v1 (Laravel 3) http://pongocms.com ● Wardrobe CMS (blogging) https://github.com/wardrobecms/wardrobe ● CodeSleeve https://github.com/CodeSleeve/platform
  21. 21. CMS en Laravel En Desarrollo: ● PongoCMS v2 http://pongocms.com ● October CMS http://octobercms.com/ ● Larapress: https://github.com/larapress-cms/larapress ● Coanda: https://github.com/CoandaCMS/coanda-core ● PyroCMS v3 https://www.pyrocms.com/ ● Platform (Release Candidate) https://cartalyst.com/manual/platform
  22. 22. Patrón arquitectónico MVC ● Framework es un marco de trabajo (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación.
  23. 23. Programación Orientada a Objetos ● La POO es un paradigma de programación (o técnica de programación) que utiliza objetos e interacciones en el diseño de un sistema.
  24. 24. Sistema de Control de Versiones ● Llevar la gestión de los diversos cambios que se realizan sobre el código de un proyecto de desarrollo de software. ● Quieres profundizar en Git: http://git-scm.com/doc ● Quieres practicar: https://try.github.io/
  25. 25. Lo que debes hacer ● Plantéate un proyecto personal, forma un equipo y ten mucha proactividad. ● Es importante configurar tu entorno de desarrollo. ● Es importante desarrollar de manera ágil ● Escoger las tecnologías más cómodas y productivas acorde a tu forma de trabajo (editores de código, IDEs, programador de tareas, etc). ● Es importante utilizar la terminal.
  26. 26. Elige una Distribución Gnu/Linux Que se adapte a tus necesidades: LinuxMint DE Elementary OS Trisquel Fedora Debian ArchLinux CentOS
  27. 27. Configura tu servidor web ● Laravel necesita un servidor web. Ya sea cualquiera de los que usa la comunidad como Apache o Nginx. ● Una opción puede ser XAMPP ya sea para Gnu/Linux (GLAMP) o Windows (WAMP), y MAMP para usuarios Mac.
  28. 28. Un Gestor de Base de Datos ● Laravel viene por defecto SQLite ● También trabajo con MySql (recomiendo utilizar MariaDB para temas académicos). ● PostgreSQL ●MongoDB ● Redis
  29. 29. Instala PHP 5.3 o superior ● Laravel requiere el lenguaje de programación PHP. Teniendo en cuenta que Laravel usa algunas características modernas del lenguaje, también necesitarás la versión 5.3.7 o superior. ● Puedes saber que versión tienes escribiendo en la terminal php -v o usando el método phpinfo().
  30. 30. Instalar Composer ●Desde la versión 4 de Laravel, la creación de un proyecto nuevo se maneja con Composer. ● En una distribución basada en debian. $ sudo apt-get install curl ● Ejecutar comando para instalar composer (considerar activar openssl en php.ini): curl -sS https://getcomposer.org/installer | php
  31. 31. Instalar Laravel 4 Desde nuestra terminal accedemos al directorio de nuestro servidor web (ej: cd /var/www/proyectoslaravel) y ejecutamos la linea de comando: $ composer create-project laravel/laravel devacademy-laravel –prefer-dist Vamos a instalar sus dependencias: $ composer install --dev
  32. 32. Instalar Laravel 4 Debes darle permisos de escritura a la carpeta /app/storage: $ sudo chmod -R 777 app/storage Debemos correr nuestro servidor web o del navegador: localhost/proyectoslaravel/devacademy-laravel/public óp hp artisan serve localhost:8000
  33. 33. Configurando el entorno local ● Asegúrate de instalar las dependencias. ● Vamos a generar nuestra clave secreta de la aplicación para darle seguridad a nuestra app y al sistema de autentificación de laravel. php artisan key:generate ● Esta clave se encuentra en app/config/app.php
  34. 34. Fundamentos Laravel Mis primeros pasos @jlinformatico
  35. 35. Estructura del proyecto http://blog.devacademy.la/post/95503250161/tutorial-laravel-conociendo-la-estructura-de-un. ● app commands config controllers database lang models start storage test views filters.php routes.php ● bootstrap ● public ● vendor ● composer.json
  36. 36. Modelos Persistencia, Migraciones y Relaciones @jlinformatico
  37. 37. Configurar la base de datos ● app/config/database.php ● Viene por defecto SQLite ● Soporte para MariaDB, PostgreSQL,MongoDB
  38. 38. Migraciones Son un número de scripts PHP que son usados para cambiar la estructura y/o contenido de tu base de datos. $ php artisan migrate:make create_users app/database/migrations Contamos con 2 métodos up() y down() $ php artisan migrate:install
  39. 39. Seeds ● Poblar la base de datos. ●Creamos un archivo en el directorio app/database/seeds ●Creamos el archivo UserTableSeeder.php ● Insertamos código ●Configuramos DatabaseSeeder.php ● Ejecutamos el script de artisan: php artisan db:seed ●
  40. 40. Eloquent ORM ● Todos los modelos de nuestra app extenderán de la clase padre Eloquent. ● Especifican a que tabla real de la base de datos afectarán. ● Las relaciones entre objetos creadas, estarán presentes en dichos modelos.
  41. 41. Creación de Modelos ● app/models ● Todos los modelos deben extender la clase Eloquent. ● Usuario.php <?php class Usuario extends Eloquent { protected $table = 'usuarios'; }
  42. 42. Pensando en CRUD ●Create - Crear una nueva fila ●Read - Leer filas existentes ●Update - Actualizar filas existentes ●Delete - Borrar filas existentes
  43. 43. Relaciones Eloquent Relaciones entre modelos: ●One to one - belongsTo ●One to Many - hasmany ● Many to Many (tabla pivote) - belongsToMany
  44. 44. Controladores Rutas, Métodos y Parámetros @jlinformatico
  45. 45. Controllers ● app/controllers ● http://laravel.com/docs/4.2/controllers class UserController extends BaseController { public function showProfile($id) { $user = User::find($id); return View::make('user.profile', array('user' => $user)); } }
  46. 46. Manejo de Rutas ● app/routes.php ● http://laravel.com/docs/4.2/routing
  47. 47. RESTful Routing ● php artisan controller:make BookController
  48. 48. Vistas Blade, formularios y layouts @jlinformatico
  49. 49. View ● http://laravel.com/docs/4.2/responses#views ● app/views/hola.php <html> <body> <h1>Hello, <?php echo $name; ?></h1> </body> </html> ● Route::get('/', function() { return View::make('hola', array('name' => 'Taylor')); });
  50. 50. Formularios {{ Form::open(array('url' => 'foo/bar')) }} // {{ Form::close() }}
  51. 51. CSS y Javascript con Bootstrap {{HTML::style('css/bootstrap.min.css')}} {{HTML::script('js/bootstrap.min.js')}}"
  52. 52. Mi Primer Ciclo MVC Modelo-Vista-Controlador @jlinformatico
  53. 53. Estructura del proyecto ● app ● config database.php ● database migrations seeds ● models Vendedor.php Producto.php ● controllers VendedorController.php ProductoController.php ● views inicio.blade.php plantilla.blade.php vendedor producto ● routes.php
  54. 54. Creamos la tabla vendedor ● app/database/migrations/
  55. 55. Crea el modelo clase Vendedor ● app/models/Vendedor.php
  56. 56. Implementar la función agregarVendedor
  57. 57. Crea el controlador VendedorController ● app/controllers/VendedorController.php
  58. 58. Prepara el router ● app/routes.php
  59. 59. Definimos la plantilla base ● app/views/plantilla.blade.php
  60. 60. Crea la vista que liste a los vendedores ● app/views/vendedor/list.blade.php
  61. 61. Gracias :) @jlinformatico
  • MiiCooSiIL

    Oct. 11, 2016
  • LuisAlbertoUruriVelasque

    Jan. 29, 2016
  • MEMIN432

    Dec. 17, 2015
  • delreal

    Jun. 1, 2015
  • alvaroyanesbasanta

    Apr. 12, 2015
  • kdemon

    Feb. 17, 2015
  • bryanax

    Feb. 3, 2015
  • origamero

    Jan. 8, 2015
  • HugoEmmanuelAndradeA

    Dec. 23, 2014
  • frankgacz

    Nov. 26, 2014
  • peterpank89

    Nov. 24, 2014

Laravel, es el framework PHP de código abierto de mayor aceptación actualmente para este lenguaje, y su simplicidad en la sintaxis, su elegancia en la escritura, su motor de plantillas incorporado, la potencia de composer y de artisan para su manejo y los complementos con los que cuenta, hacen que PHP que para muchos estaba empezando a quedarse en el olvido, vuelva a ser rescatado y sea ahora un lenguaje moderno, rápido, eficiente y profesional trabajado desde Laravel.

Views

Total views

6,252

On Slideshare

0

From embeds

0

Number of embeds

34

Actions

Downloads

260

Shares

0

Comments

0

Likes

11

×