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;