Desenvolupament d'Aplicacions

Per què Laravel?

Laravel és un framework PHP, bàsicament és un conjunt de classes PHP que fan la creació del teu projecte web més fàcil.

Per què Laravel?

Raons per confiar en Laravel

En utilitzar un framework tenim molt codi ja creat i no hem de repetir-ho en cada projecte. Laravel és un dels més utilitzats, i si és així, serà per múltiples motius que us explicarem a continuació:

Gestió de les rutes amb Laravel

Ens permet gestionar de forma simple, però potent, els endpoints de l'aplicació. De 'http://www.example.com/posts' ens quedem amb la part de '/posts', aquí li diem a Laravel "quan vagin a '/posts' vull que que realitzis aquesta acció". No només gestiona de '/posts' a una acció, sinó que és capaç de distingir entre 6 formes d'anar a '/posts', amb el que ens dóna molt joc.

Middlewares a Laravel

Un Middleware s'executa abans i després de cada petició al servidor, per exemple a '/posts' volem que abans d'entrar mirem si ja tenim aquesta pàgina carregada en caché, així ens podem evitar l'haver de consultar la base de dades, amb el temps que comporta. Després de consultar la base de dades i just abans d'enviar la resposta a l'usuari és un bon moment per guardar aquest resultat en aquesta caché. També podríem usar un Middleware per enviar a un visitant a una pàgina d'error si no ha iniciat sessió i així protegir el que hagi de ser protegit.

Controllers a Laravel

Això ho utilitzarem com a mecanisme organitzatiu. Abans hem dit que si algú va a '/posts' que realitzi una acció. A un Controller podrem realitzar consultes. Per exemple, consultem en base de dades els posts i retornem l'HTML que pinta els posts a una llista.

Requests a Laravel

"Anar a '/posts'" és un request. Però en aquest request podem fer més coses, com validar la informació que ens han enviat d'un formulari. Així no trencarem la base de dades guardant el que no haguem de guardar, podem definir tot un set de normes per a cada formulari, com a quins camps són obligatoris o que la data de naixement ha de ser anterior a "avui menys 18 anys".

Responses a Laravel

Abans parlàvem de retornar un HTML, però no és l'única cosa que pot retornar una crida a una aplicació. Si qui fa aquesta crida és una màquina i no una persona podem retornar un json, que és una forma molt més eficient d'enviar informació. O podem retornar un fitxer.

Views a Laravel

Aquests HTML que retornem a l'usuari els anomenem views i els utilitzarem enviant les nostres variables que hem creat al Controller.

Blade Templates a Laravel

Les Views les generem utilitzant Blade. Això bàsicament significa que tenim accés a les variables de la View i a una sèrie d'eines per facilitar puntejar-les a la pròpia View.

Service Providers a Laravel

La nostra aplicació utilitza aquests Service Providers per estendre's amb més funcionalitats. Per exemple, si necessitem Stripe per realitzar pagaments li afegirem a la nostra aplicació Laravel el paquet de Cashier (que compleix aquestes funcionalitats) i aquest conté un fitxer Service Provider que executarà el necessari per preparar-se per ser usat, com llegir de la nostra configuració les claus amb les quals es connectés al nostre compte de Stripe. Això ens permet utilitzar el codi d'aquest paquet sense preocupar-nos d'haver de passar-li manualment aquesta configuració.

Sense els Service Providers Laravel no seria res, ja que Laravel és bàsicament un enorme contenidor on viuen aquests Service Providers i li proporcionen totes les funcionalitats que necessita per funcionar més les que hem afegit nosaltres per al nostre propi benefici.

Authentication a Laravel

En paraules de Taylor Otwell (creador de Laravel): "Cada vegada que tinc una idea per a un projecte l'agafo amb ganes, creo una carpeta nova i començo a programar, la meva idea necessita d'usuaris, així que començo per aquí. Quan m'adono tinc els usuaris acabats, però és molt tard, demà segueixo. Quan arriba demà ja no m'interessa o apassiona tant aquest projecte, perquè se m'ha ocorregut un altre nou, així que començo aquest altre projecte i li faig el sistema d'usuaris..."

Doncs s'ha acabat perdre el temps creant projectes inútils que només són capaços de tenir usuaris després d'un munt d'hores de treball, això ve per defecte amb Laravel.

Authorization a Laravel

D'aquests usuaris alguns poden fer unes coses i uns altres poden fer altres diferents. Aquí entra en joc la Authorization.

Artisan Console a Laravel

Una de les coses que més temps fan perdre és crear fitxers. Fer un són 2 segons, però fer 100 molt semblats és una perduda de temps, artisan ens permet generar aquests fitxers amb un esquelet bàsic.

Encryption a Laravel

Hi ha contingut que hem d'encriptar per treballar amb ell, com contrasenyes.

Laravel Cashier

Aquest paquet ens permet realitzar pagaments a la nostra aplicació. Es posa, s'afegeixen les claus i ja funciona. Estalvia una quantitat molt gran de treball.

Caché a Laravel

Guardes sota un nom un valor, aquest valor pot ser una consulta de base de dades o una pàgina sencera. Li assignes data de caducitat i ja tens una forma d'augmentar la velocitat de càrrega del que t'interessi.

Collections a Laravel

Una col·lecció ens permet agrupar diversos models (per exemple usuaris) sota un mateix objecte que ens facilita recórrer-ho o realitzar una cerca dels items que conté.

Events a Laravel

Un esdeveniment cal entendre-ho com una notificació que alguna cosa ha ocorregut. Per exemple "S'ha creat un nou usuari" o "S'ha realitzat una compra". Aquests Esdeveniments ens són útils per llançar-los i el codi que ho necessiti sàpiga que això ha ocorregut i pugui actuar en conseqüència, per exemple, enviant un mail.

File Storage a Laravel

Una aplicació web normalment haurà de ser capaç de gestionar fitxers, des de fotos d'avatar dels seus usuaris fins a factures protegides que a les quals només una persona ha de tenir accés.

Helpers a Laravel

Multitud de funcions que ja vénen creades i ens permeten treballar molt mes ràpid.

Mail a Laravel

Abans parlàvem d'enviar un mail, aquest paquet s'encarrega d'això de forma fàcil i ràpida.

Notifications a Laravel

Igual que a WhatsApp, passa alguna cosa i cal avisar a l'usuari, això és una notificació.

Queues a Laravel

Per a totes aquelles tasques que hagin de realitzar-se en segon pla, es posen en una cua i s'executen per ordre.

Task Scheduling a Laravel

Per a totes aquelles tasques que hagin de realitzar-se periòdicament, com treure un informe mensual de les vendes.

Paginació a Laravel

També de sèrie i completament funcional. Una acció molt bàsica que si cal realitzar des de 0 pots perdre unes hores.

Migracions a Laravel

Gestió de base de dades des de codi PHP per no haver d'anar canviant de SQL a PHP contínuament mentre treballes, a més de que pot arribar a fer les funcions de control de versions per a la mateixa base de dades.

Seeding a Laravel

A desenvolupament és útil poder generar 'dummy data' de forma fàcil. A l'hora de llançar a producció també s'utilitza per omplir la base de dades amb contingut com a països, idiomes...

Eloquent a Laravel

La base dels models a Laravel, des de consultes a base de dades fins a relacions entre diferents models.

Test a Laravel

Imprescindible funció, Laravel ve completament preparat per ser testejat i assegurar-se que tot funciona perfectament. Utilitzant aquests tests podríem canviar part del codi de l'aplicació a un més eficient. Per exemple, gràcies als tests en qüestió d'un instant sabríem si hem trencat alguna cosa amb els nostres canvis sense necessitat que se'ns perdin i acabin trobant-los els nostres usuaris.

Socialite a Laravel

Les contrasenyes han mort, ara tot el que necessites és un compte a Twitter, Facebook o Google i pots utilitzar aquest compte per iniciar sessió en multitud de pàgines. Això és Socialite.

Com es pot observar tots aquests punts afavoreixen al desenvolupador, per què com a client ens interessa això?

Per estalviar despeses. Si tot això ja està fet, el treball del programador consisteix a integrar-ho tot, sense necessitat de crear-ho i preocupar-se per actualitzar-ho tot cada vegada que descobreixi un error o una vulnerabilitat. Laravel es va actualitzant arreglant aquestes coses en cas de trobar alguna cosa. De 1000 hores a només un parell gràcies a utilitzar aquest framework, amb codi ben provat per milers de programadors.

Per què Laravel i no un altre Framework?

Ningú pot dir que Laravel sigui el millor que hi ha, però això passa amb tots. Amb la majoria pots dir que NO són el millor, amb Laravel caldria buscar algun motiu per afirmar això.

Comparteix aquest article

Articles Relacionats