FuelPHP 包

fuelphp 包

 

包在代碼重用方面類似于模塊,但在以下方面有所不同,

  • 它不會(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 客戶端克隆包源代碼并將其移動(dòng)到 fuel/packages 文件夾。如果git客戶端不可用,那么我們可以使用--direct命令參數(shù)來(lái)引導(dǎo)命令下載和安裝包,如下所示。

php oil package install mytestpackage --direct

 

使用包

包一旦加載到應(yīng)用程序中就可以在應(yīng)用程序中使用。有兩種方法可以將包加載到應(yīng)用程序中。

選項(xiàng) 1-通過(guò)包類

fuelphp 提供了一個(gè) package 類,分別通過(guò)load、unload 和loaded 方法加載、卸載和檢查包的可用性。 load 方法有兩個(gè)參數(shù)。第一個(gè)參數(shù) $package 是包的名稱,第二個(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;

下一節(jié):fuelphp cookie

fuelphp 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频