FuelPHP 套件筆記

Posted by ayuayu on 2014/07/24

最低限度設置:

app/config裡面的 'packages'  項目要做好路徑設定
'filename'=>PKGPATH.'filename/'大概這樣的形式

packages裡面最低限度要有classes資料夾,裡面放一個自己要用的class
然後底下要有bootstrap.php

Autoloader::add_core_namespace('套件名稱',true);
Autoloader::add_classes(array(
  'NAMESPACE\\CLASSNAME' => __DIR__.'/PATH/filename.php',
));

注意
1.classname和filename可以不同
2.package裡面的檔案要有namespace,不然會redlare error

全部都做好以後,就可以直接使用package裡面的class,可以呼叫裡面的靜態function,不需要再加任何namespace

Example:
'packages'  => array(
    'ayu'=>PKGPATH.'ayu/',
),

測試設置: ayu/classes/ayu.php  以及ayu/bootstrap.php

ayu.php內容如下(為了確認class名稱與檔名是分開設定,這邊我們弄成不同的名稱
而namespace太容易辨識了就不再做額外處理)
<?php
namespace ayu;
class Tsukimiya{
 public static function holyworld(){
  echo 'Holy Package Loading and Working Success<br/>';
 }
}

bootstrap.php內容如下:
<?php
Autoloader::add_core_namespace('ayu',true);
Autoloader::add_classes(array(
  'ayu\\Tsukimiya' => __DIR__.'/classes/ayu.php',  //即NAMESPACE\\CLASSNAME' => __DIR__.'/PATH/filename.php',
));

任意一個Controller裡面置入以下測試內容:
Tsukimiya::holyworld();

就可以得到正確的輸出
Holy Package Loading and Working Success


沒有留言:

張貼留言