FuelPHP - Forfaits

Les packages sont similaires aux modules dans la réutilisation du code mais diffèrent des manières suivantes,

  • Il ne correspond pas aux URL Web
  • Il n'est pas accessible via les demandes HMVC

En bref, les packages ne sont pas des fonctionnalités Web directes telles que blog, album, etc. Au lieu de cela, il s'agit d'une bibliothèque de fonctions regroupées telles que le traitement des e-mails, la création de documents, la création de graphiques, l'authentification, etc. qui permet un développement plus rapide du Web application.

Créer des packages

Pour créer un package, nous devons d'abord organiser notre code source spécifié comme suit.

/fuel 
   /packages 
      /package (root directory of package) 
         /bootstrap.php 
      /classes 
         /our.php 
      /classes.php 
         /here.php 
      /config 
         /config.php 
         /and_so_on

La structure du package a deux fichiers spécifiques au package, les fichiers config.php et bootstrap.php. Le but du fichier de configuration est de regrouper la configuration du package sous le dossier du package lui-même sans perturber l'application principale. Le but du fichier d'amorçage est de définir l'espace de noms afin que l'autoloader le charge correctement.

Voici quelques façons de définir l'espace de noms:

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', 
));

Une fois que le fichier d'amorçage est correctement configuré et que les packages sont chargés dans l'application, nous pouvons l'utiliser comme suit.

$instance = new Myclass; 
$instance = new Mynamespace\Myclass;

Installer des packages

Les packages sont généralement placés dans le répertoire fuel / packages. Par défaut, les packages suivants sont installés,

  • auth - Package d'authentification

  • email - Forfait e-mail

  • oil - Commande de carburant, paquet d'huile

  • orm - Forfait ORM

  • parser - Package d'analyse syntaxique Markdown

Pour installer un nouveau package, voici les deux options,

Option 1 - Installation manuelle - télécharger et installer

Pour installer manuellement le package, téléchargez d'abord le package à partir du site Web de l'auteur. Déballez-le et placez-le sousfuel/packages/ dossier.

Option 2 - Méthode automatique utilisant la commande d'huile

FuelPHP fournit un moyen automatisé d'installer les paquets hébergés dans github. Utilisez la commande suivante pour installer le package, mytestpackage.

php oil package install mytestpackage

Il clone le code source du package à l'aide du client git et le déplace dans le dossier fuel / packages. Si le client git n'est pas disponible, nous pouvons utiliser l'argument de commande –direct pour demander à la commande de télécharger et d'installer les packages comme suit.

php oil package install mytestpackage --direct

Utilisation des packages

Les packages peuvent être utilisés dans l'application une fois qu'il est chargé dans l'application. Il existe deux façons de charger les packages dans l'application.

Option 1 - Grâce à la classe Package

FuelPHP fournit une classe, Package pour charger, décharger et vérifier la disponibilité des packages via respectivement les méthodes de chargement, de déchargement et de chargement. loadLa méthode a deux paramètres. Le premier paramètre,$package est le nom du package et le deuxième paramètre, pathest le chemin du package. Le deuxième paramètre est facultatif, si le package est installé dansfuel/packages dossier.

// 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 - Via le fichier de configuration

Pour charger un package de manière permanente, ajoutez simplement le package sous always_load entrée de configuration dans le fichier de configuration principal, fuel/app/config/config.php. Pour charger le package de courrier électronique, utilisez la syntaxe suivante.

'always_load' => array ( 
   'packages' => array ( 
      'email', 
   ), 
),

Une fois les packages chargés dans l'application, nous pouvons l'utiliser comme suit.

$instance = new Myclass; 
$instance = new Mynamespace\Myclass;