fuelphp 包
包在代碼重用方面類(lèi)似于模塊,但在以下方面有所不同,
- 它不會(huì)映射到網(wǎng)址
- 無(wú)法通過(guò) hmvc 請(qǐng)求訪問(wèn)
簡(jiǎn)而言之,包不是直接的網(wǎng)絡(luò)功能,如博客、相冊(cè)等。相反,它是一個(gè)組合在一起的功能庫(kù),如電子郵件處理、文檔創(chuàng)建、圖表創(chuàng)建、身份驗(yàn)證等,有助于加快開(kāi)發(fā)速度網(wǎng)絡(luò)應(yīng)用程序。
創(chuàng)建包
要?jiǎng)?chuàng)建一個(gè)包,首先我們需要按如下方式排列我們的源代碼。
/fuel /packages /package (root directory of package) /bootstrap.php /classes /our.php /classes.php /here.php /config /config.php /and_so_on
包的結(jié)構(gòu)有兩個(gè)包特定的文件,config.php 和 bootstrap.php 文件。配置文件的目的是在不干擾主應(yīng)用程序的情況下將包的配置分組到包文件夾本身下。紫色引導(dǎo)文件的作用是設(shè)置命名空間,以便自動(dòng)加載器正確加載它。
設(shè)置命名空間的一些方法如下,
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', ));
一旦正確配置了引導(dǎo)程序文件并將包加載到應(yīng)用程序中,我們就可以按如下方式使用它。
$instance = new myclass; $instance = new mynamespace\myclass;
安裝軟件包
包通常放在fuel/packages目錄下。默認(rèn)情況下,安裝了以下軟件包,
- auth-認(rèn)證包
- 電子郵件-電子郵件包
- oil-fuel 的命令,油包
- orm-orm 包
- parser-markdown 解析器包
要安裝新包,有以下兩個(gè)選項(xiàng),
選項(xiàng) 1-手動(dòng)安裝-下載并安裝
要手動(dòng)安裝包,首先從作者的網(wǎng)站下載包。打開(kāi)包裝并將其放在 fuel/packages/ 文件夾下。
選項(xiàng) 2-使用油指令的自動(dòng)方法
fuelphp 提供了一種安裝托管在 github 中的軟件包的自動(dòng)化方式。使用以下命令安裝包 mytestpackage。
php oil package install mytestpackage
它使用 git 客戶(hù)端克隆包源代碼并將其移動(dòng)到 fuel/packages 文件夾。如果git客戶(hù)端不可用,那么我們可以使用--direct命令參數(shù)來(lái)引導(dǎo)命令下載和安裝包,如下所示。
php oil package install mytestpackage --direct
使用包
包一旦加載到應(yīng)用程序中就可以在應(yīng)用程序中使用。有兩種方法可以將包加載到應(yīng)用程序中。
選項(xiàng) 1-通過(guò)包類(lèi)
fuelphp 提供了一個(gè) package 類(lèi),分別通過(guò)load、unload 和loaded 方法加載、卸載和檢查包的可用性。 load 方法有兩個(gè)參數(shù)。第一個(gè)參數(shù) $package 是包的名稱(chēng),第二個(gè)參數(shù) path 是包的路徑。如果軟件包安裝在 fuel/packages 文件夾中,則第二個(gè)參數(shù)是可選的。
// 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
選項(xiàng) 2-通過(guò)配置文件
要永久加載包,只需在主配置文件 fuel/app/config/config.php 中的 always_load 配置條目下添加包。要加載電子郵件包,請(qǐng)使用以下語(yǔ)法。
'always_load' => array ( 'packages' => array ( 'email', ), ),
一旦包被加載到應(yīng)用程序中,我們就可以如下使用它。
$instance = new myclass; $instance = new mynamespace\myclass;
- CodeIgniter 安裝
- CodeIgniter MVC 框架
- CodeIgniter 發(fā)送電子郵件
- CodeIgniter 臨時(shí)數(shù)據(jù)
- CodeIgniter 頁(yè)面緩存
- CodeIgniter 基準(zhǔn)測(cè)試
- CakePHP 控制器
- CakePHP 國(guó)際化
- CakePHP 分頁(yè)
- CakePHP 日期和時(shí)間
- FuelPHP 安裝
- FuelPHP 架構(gòu)概述
- FuelPHP 路由
- FuelPHP 視圖
- FuelPHP 電子郵件管理
- Laravel session
- Laravel 驗(yàn)證
- Laravel Facades
- Laravel 加密
- Laravel 歷史版本記錄