Laravel
Intro
Laravel és un framework web que està agafant molta força.
Referències:
- Instal·lació: https://laravel.com/docs/5.3/installation
- Getting Started amb Eloquent ORM: https://laravel.com/docs/5.3/eloquent
- Un tutorial estupendu: https://styde.net/laravel-5/
Instal·lació i setup
Prerequisits:
- Cal PHP >= 5.6.4
- Si utilitzes Ubuntu 14 o menor actualitza la teva versió de PHP a la 7.0
- Calen els paquets següents:
$ sudo apt-get install php7.0-mbstring php7.0-zip php7.0-xml
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):
- Instal·la el gestor de paquets COMPOSER.
- 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
- Laravel s'instal·la a
- Crea una app Laravel allà on et faci més ràbia:
$ laravel new laravelapp1
- Arrenca l'aplicació de prova:
$ php artisan serve
- 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à:
- Crear Routes (a /routes)
- Comença per una ruta simple i fes un
return "hola que tal"
i mira si pots visualitzar-la.
- Comença per una ruta simple i fes un
- Crear Views (a /resources/views)
- Crea una view i crida-la des d'una ruta.
- Posa a la view
Benvingut Plantilla:Nom,
, i introdueix el teu nom des de la ruta (hardcoded). - Passa un paràmetre "nom" per GET (
http://localhost/ruta/?nom=manolo
, per exemple) i captura-la des da la ruta i introdueix-la a la view.
- Crear Models (a /app)
- 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.
- Utilitzar els models a les views
Laravel en producció
...