FuelPHP - Paquetes

Los paquetes son similares a los módulos en la reutilización de código, pero difieren en las siguientes formas,

  • No se asigna a las URL web.
  • No es accesible a través de solicitudes HMVC

En resumen, los paquetes no son funcionalidades web directas como blog, álbum, etc. En su lugar, es una biblioteca de funciones agrupadas como procesamiento de correo electrónico, creación de documentos, creación de gráficos, autenticación, etc., lo que ayuda a un desarrollo más rápido de la web. solicitud.

Crear paquetes

Para crear un paquete, primero necesitamos organizar nuestro código fuente especificado de la siguiente manera.

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

La estructura del paquete tiene dos archivos específicos del paquete, archivos config.php y bootstrap.php. El propósito del archivo de configuración es agrupar la configuración del paquete en la carpeta del paquete sin perturbar la aplicación principal. El propósito del archivo de arranque es establecer el espacio de nombres para que el autocargador lo cargue correctamente.

Algunas formas de configurar el espacio de nombres son las siguientes:

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 vez que el archivo de arranque está configurado correctamente y los paquetes se cargan en la aplicación, podemos usarlo de la siguiente manera.

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

Instalación de paquetes

Los paquetes generalmente se colocan en el directorio fuel / packages. De forma predeterminada, se instalan los siguientes paquetes,

  • auth - Paquete de autenticación

  • email - Paquete de correo electrónico

  • oil - Mando de combustible, paquete de aceite

  • orm - Paquete ORM

  • parser - Paquete analizador Markdown

Para instalar un nuevo paquete, las siguientes son las dos opciones,

Option 1 - Instalación manual - descargar e instalar

Para instalar manualmente el paquete, primero descargue el paquete del sitio web del autor. Desembale y colóquelo debajofuel/packages/ carpeta.

Option 2 - Método automático con comando de aceite

FuelPHP proporciona una forma automatizada de instalar los paquetes alojados en github. Utilice el siguiente comando para instalar el paquete, mytestpackage.

php oil package install mytestpackage

Clona el código fuente del paquete usando el cliente git y lo mueve a la carpeta fuel / packages. Si el cliente git no está disponible, podemos usar el argumento del comando –direct para indicar al comando que descargue e instale los paquetes de la siguiente manera.

php oil package install mytestpackage --direct

Usar paquetes

Los paquetes se pueden utilizar en la aplicación una vez que se cargan en la aplicación. Hay dos formas de cargar los paquetes en la aplicación.

Option 1 - A través de la clase Paquete

FuelPHP ofrece una clase, Package para cargar, descargar y verificar la disponibilidad de los paquetes mediante los métodos de carga, descarga y carga, respectivamente. loadEl método tiene dos parámetros. El primer parámetro,$package es el nombre del paquete y el segundo parámetro, pathes la ruta del paquete. El segundo parámetro es opcional, si el paquete está instalado enfuel/packages carpeta.

// 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 - Mediante archivo de configuración

Para cargar un paquete de forma permanente, simplemente agregue el paquete en always_load entrada de configuración en el archivo de configuración principal, fuel/app/config/config.php. Para cargar el paquete de correo electrónico, use la siguiente sintaxis.

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

Una vez que los paquetes se cargan en la aplicación, podemos usarlos de la siguiente manera.

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