FuelPHP - Pacchetti
I pacchetti sono simili ai moduli nel riutilizzo del codice ma differiscono nei seguenti modi,
- Non viene mappato agli URL web
- Non è accessibile tramite richieste HMVC
In breve, i pacchetti non sono funzionalità web dirette come blog, album, ecc. Invece, è una libreria di funzioni raggruppate come l'elaborazione della posta elettronica, la creazione di documenti, la creazione di grafici, l'autenticazione, ecc. Che aiuta a uno sviluppo più veloce del web applicazione.
Creazione di pacchetti
Per creare un pacchetto, prima dobbiamo organizzare il nostro codice sorgente specificato come segue.
/fuel
/packages
/package (root directory of package)
/bootstrap.php
/classes
/our.php
/classes.php
/here.php
/config
/config.php
/and_so_on
La struttura del pacchetto ha due file specifici del pacchetto, config.php e file bootstrap.php. Lo scopo del file di configurazione è raggruppare la configurazione del pacchetto nella cartella del pacchetto stesso senza disturbare l'applicazione principale. Lo scopo del file bootstrap è impostare lo spazio dei nomi in modo che il caricatore automatico lo carichi correttamente.
Alcuni modi per impostare lo spazio dei nomi sono i seguenti,
Autoloader::add_namespace('Mypackage', __DIR__.'/classes/');
Autoloader::add_core_namespace('Mypackage');
Autoloader::add_core_namespace('Mypackage', true);
Autoloader::add_classes (array(
'Mypackage\\Classname' => __DIR__.'/classes/classname.php',
'Mypackage\\Anotherclass' => __DIR__.'/classes/anotherclass.php',
));
Una volta che il file bootstrap è configurato correttamente e i pacchetti sono stati caricati nell'applicazione, possiamo usarlo come segue.
$instance = new Myclass;
$instance = new Mynamespace\Myclass;
Installazione di pacchetti
I pacchetti sono solitamente posti nella directory fuel / packages. Per impostazione predefinita, vengono installati i seguenti pacchetti,
auth - Pacchetto di autenticazione
email - Pacchetto e-mail
oil - Comando del carburante, pacchetto dell'olio
orm - Pacchetto ORM
parser - Pacchetto parser Markdown
Per installare un nuovo pacchetto, di seguito sono riportate le due opzioni,
Option 1 - Installazione manuale: download e installazione
Per installare manualmente il pacchetto, scarica prima il pacchetto dal sito Web dell'autore. Disimballalo e posizionalo sottofuel/packages/ cartella.
Option 2 - Metodo automatico tramite comando olio
FuelPHP fornisce un modo automatizzato di installare i pacchetti ospitati in GitHub. Utilizzare il seguente comando per installare il pacchetto, mytestpackage.
php oil package install mytestpackage
Clona il codice sorgente del pacchetto utilizzando git client e lo sposta nella cartella fuel / packages. Se il client git non è disponibile, è possibile utilizzare l'argomento del comando –direct per indicare al comando di scaricare e installare i pacchetti come segue.
php oil package install mytestpackage --direct
Utilizzo di pacchetti
I pacchetti possono essere utilizzati nell'applicazione una volta caricati nell'applicazione. Esistono due modi per caricare i pacchetti nell'applicazione.
Option 1 - Attraverso la classe Package
FuelPHP offre una classe, Package per caricare, scaricare e verificare la disponibilità dei pacchetti rispettivamente tramite i metodi di caricamento, scaricamento e caricamento. loadha due parametri. Il primo parametro,$package è il nome del pacchetto e il secondo parametro, pathè il percorso del pacchetto. Il secondo parametro è facoltativo, se il pacchetto è installato infuel/packages cartella.
// load the orm package
Package::load('orm');
// load the parser package from a specific directory
Package::load('parser', '/path/to/packages/dir/');
// load the non-existent package
Package::load('awesome'); // Throws a PackageNotFoundException
Option 2 - Tramite file di configurazione
Per caricare un pacchetto in modo permanente, aggiungi semplicemente il pacchetto in always_load voce di configurazione nel file di configurazione principale, fuel/app/config/config.php. Per caricare il pacchetto di posta elettronica, utilizzare la seguente sintassi.
'always_load' => array (
'packages' => array (
'email',
),
),
Una volta caricati i pacchetti nell'applicazione, possiamo usarli come segue.
$instance = new Myclass;
$instance = new Mynamespace\Myclass;