包类似于代码重用中的模块,但在以下方面有所不同,
它不映射到Web URL
通过HMVC请求无法接近
简而言之,软件包不是直接的网络功能,例如博客,专辑相反,它是一个组合在一起的功能库,如电子邮件处理,文档创建,图表创建,身份验证等,这有助于更快地开发Web应用程序.
要创建包,首先我们需要安排如下指定的源代码.
/fuel /packages /package (root directory of package) /bootstrap.php /classes /our.php /classes.php /here.php /config /config.php /and_so_on
结构PA ckage有两个特定于包的文件,config.php和bootstrap.php文件.配置文件的目的是将包的配置分组到包文件夹本身,而不会干扰主应用程序.引导文件的目的是设置命名空间,以便自动加载器正确加载它.
设置命名空间的一些方法如下,
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', ));
一旦正确配置了bootstrap文件并将包加载到应用程序中,我们就可以按如下方式使用它.
$instance = new Myclass; $instance = new Mynamespace\Myclass;
包通常放在fuel/packages目录下.默认情况下,安装以下软件包,
auth : 身份验证包
电子邮件 : 电子邮件包
油 : 燃料指令,油包
orm : ORM包
解析器 : Markdown解析器包
要安装新包,以下是两个选项,
选项1 : 手动安装 - 下载并安装
要手动安装软件包,请首先从作者的网站下载软件包.打开包装并将其放在 fuel/packages/文件夹下.
选项2 : 使用oil命令的自动方法
FuelPHP提供了一种自动安装github中托管的软件包的方法.使用以下命令安装包mytestpackage.
php oil package install mytestpackage
它使用git客户端克隆包源代码并将其移动到fuel/packages文件夹.如果git客户端不可用,那么我们可以使用-direct命令参数来指示命令下载并安装软件包,如下所示.
php oil package install mytestpackage --direct
包装可以在加载到应用程序后用于应用程序应用程序.有两种方法可以将软件包加载到应用程序中.
选项1 : 通过Package类
FuelPHP提供了一个类包,分别通过加载,卸载和加载方法来加载,卸载和检查包的可用性. load 方法有两个参数.第一个参数 $ package 是包的名称和第二个参数, path 是包的路径.如果包安装在 fuel/packages 文件夹中,则第二个参数是可选的.
// 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
选项2 : 通过配置文件
要永久加载软件包,只需在主配置文件 fuel/app/config/中的 always_load 配置条目下添加软件包.的config.php 的.要加载电子邮件包,请使用以下语法.
'always_load' => array ( 'packages' => array ( 'email', ), ),
将包加载到应用程序后,我们可以按如下方式使用它.
$instance = new Myclass; $instance = new Mynamespace\Myclass;