Laravel

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Intro

Laravel és un framework web que està agafant molta força.

Referències:


Instal·lació i setup

Prerequisits:

Anem a posar-nos-hi. Utilitzarem Laravel v. 5.3, tot i que en futures versions les passes no haurien de diferir molt (però ho fan):

  1. Instal·la el gestor de paquets COMPOSER.
  2. Instal·la Laravel 5.3:
    https://laravel.com/docs/5.3/installation
    Laravel s'instal·la a $HOME/.composer però per poder executar les properes comandes necessitarem tenir $HOME/.composer/vendor/bin al nostre $PATH. Inserta això al teu $HOME/.profile:
    PATH=$PATH:~/.composer/vendor/bin
  3. Crea una app Laravel allà on et faci més ràbia:
    $ laravel new laravelapp1
  4. Arrenca l'aplicació de prova:
    $ php artisan serve
  5. Comprova la app amb el navegador a
    http://localhost:8000


Ficant-nos en matèria

Ja hem fet la presa de contacte. Ara procedim a crear la nostra app. Això inclourà:

  1. Crear Routes
    • Comença per una ruta simple i fes un return "hola que tal" i mira si pots visualitzar-la.
  2. Crear Views
  3. Crear Models
    • Laravel utilitza Eloquent ORM. Recordem que un ORM és un Object-Relational Model, una sèrie d'utilitats que ens ajudaran a gestionar l'accés a la base de dades i els models d'objectes que hi guardarem.
    • Configurar la connexió a la BD en .env tal i com indica la doc (en algun lloc diu que es configura a config/database.php, però és millor fer-ho a .env)
    • Segueix el Eloquent Quickstart i defineix els models de la teva app. Tingues en compte:
      • A l'exemple que surt (User model) ja està creat i et donarà un error. Crea un altre objecte diferent.
      • A diferència de Django, al model només es defineixen els atributs però sense especificar de quin tipus son (integers, varchars, etc.). Això darrer ho farem en el següent pas: la migració.
    • Migrar els models a la BD.
      Tal com hem dit, en aquest pas caldrà definir el tipus de dades de l'objecte.
  4. Utilitzar els models a les views


Laravel en producció

...