Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Laravel 5
Code

Cosa Sono i Pacchetti per Laravel?

Difficulty:IntermediateLength:ShortLanguages:

Italian (Italiano) translation by Luca Menozzi (you can also view the original English article)

Come sviluppatore PHP, potresti essere interessato a lavorare con i framework. I framework cercano di rendere il processo di sviluppo più facile semplificando le comuni procedure adottate nella maggior parte dei progetti di sviluppo web come i pacchetti, i moduli, i plug-in fino ai componenti (CakePHP).

Può capitare che, durante il processo di sviluppo, hai la sensazione di stare reinventando la ruota, come quando implementi un'autenticazione o un CAPTCHA. In questo caso, avresti bisogno di creare un pacchetto che semplifichi e renda più semplice e veloce lo sviluppo della tua applicazione.

Esistono due tipi di pacchetti: alcuni sono indipendenti dal framework (stand-alone), altri, invece, sono realizzati per framework specifici. Questo tutorial prenderà in esame solamente i pacchetti per Laravel.

Prima di creare un pacchetto, hai bisogno di sapere cosa sono i gestori di pacchetti. PEAR è un noto gestore di pacchetti che, sebbene ancora disponibile, raramente viene utilizzato. Perchè? Obbliga a installare pacchetti a livello di sistema invece che progetto per progetto. Composer è diventato il successore di PEAR.

Cosa Sono i Pacchetti per Laravel?

Uno dei parametri per tarare la potenza di un framework si basa su come lo sviluppatore redistribuisce pacchetti di codice utili. Questo consente agli sviluppatori di suddividere le applicazioni in diversi pacchetti di applicazioni più piccole.

Infatti, i pacchetti offrono un ottimo modo per raggruppare codice correlato. I pacchetti sono molto simili ai "Componenti". E' importante notare che il codice sorgente di Laravel è un "pacchetto", che Taylor Otwell chiama DEFAULT_BUNDLE

Uno dei grandi vantaggi dei pacchetti di Laravel è che essi consentono l'accesso a tutte le caratteristiche che il framework rende disponbili alla sua applicazione host, incluso il routing, le migrations, i tests, le views e numerose altre utili funzionalità. Un altro importante vantaggio di un pacchetto è il principio DRY ( Don't Repeat Yourself). Creando un pacchetto con del codice che usi di frequente, risparmi risorse e aumenti la performance della tua applicazione.

Ecco qui di seguito qualche utile pacchetto per Laravel. Pacchetti che ho usato sono:

  • Generators: una delle cose che più ho apprezzato di CakePhp era la sua console Bake. Questo pacchetto è la cosa più simile che ho trovato in qualsiasi altro framework.
  • Ardent: modelli intelligenti, auto-validanti per Eloquent ORM.
  • IDE helper: questo pacchetto cerca di correggere il problema dell'autocompletamento del codice in PhpStorm creando un docblock helper file da cui l'IDE può prendere spunto.
  • Sayakb: fornisce un'ottima app captcha.
  • Behat: una soluzione per il testing della tua applicazione utilizzando la metodologia BDD.
  • Artdarek: un ottimo wrapper OAuth.
  • Mcamara: localizzazione i18n facile per la tua applicazione Laravel.

Potresti trovare il pacchetto con le funzionalità che cerchi su packalyst. Packalyst crea un archivio semplice e social di pacchetti per Laravel.

Come Costruire il Tuo Pacchetto per Laravel

Crea un semplice pacchetto per l'autenticazione per Laravel 5.0. Per farlo, prima di tutto, hai bisogno di un file composer.json per il tuo nuovo pacchetto:

La classe Service Provider è semplicemente il file che imposta tutto in maniera corretta per il pacchetto. Qui è come il Service Provider dovrebbe essere a questo punto, in src/MyAuthServiceProvider.php:

Aggiungi il Service Provider a config/app.php:

Ora Laravel sa che c'è il pacchetto. Potresti domandarti perchè non aggiungo "alias" al mio app.php. Personalmente, li aggiungo nel metodo register della classe Service Provider invece che aggiungerli manualmente nel file di configurazione di Laravel. Affronterò questo punto più tardi. Ora, crea una semplice classe PHP denominata MyAuth in src/MyAuth.php:

La classe di autenticazione dovrebbe essere agganciata, tramite l'IoC Container di Laravel, al service provider del pacchetto. Prima di fare questo, crea una classe Facade: ci permette di usare i metodi della classe senza richiedere la creazione di una nuova istanza, e offre anche altri vantaggi che sono stati indicati in precedenza. Proprio come la classe MyAuth ha creato la nuova directory Facades, nella directory Facades, crea una nuova classe PHP e chiamala src/MyAuthFacade.php:

Dopo aver fatto questo, non rimane che fare il bootstrap del pacchetto. Ecco com'è il mio codice:

Come puoi vedere, ho agganciato la classe MyAuth all'IoC Container. Adesso è facile usarla:

Questo dovrebbe generare il messaggio Welcome log-in succeeded. Se lo desideri, ora puoi registrare il pacchetto su Packagist. Il pacchetto MyAuth è ora registrato e può essere facilmente incluso in Laravel attraverso il comando Composer: composer require "alireza/myauth".

Conclusioni

Se stai cercando l'esempio di un famoso e completo pacchetto per Laravel, puoi guardare TerranetAdmin.

Questa è stata una veloce panoramica su come creare un pacchetto per Laravel 5. Come puoi vedere, creare il pacchetto è semplice, e può diventare un importante strumento per semplificare e velocizzare il processo di sviluppo.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.