FuelPHP - Pakiety

Pakiety są podobne do modułów w ponownym użyciu kodu, ale różnią się w następujący sposób:

  • Nie jest odwzorowywany na adresy internetowe
  • Nie jest osiągalne przez żądania HMVC

Krótko mówiąc, pakiety nie są bezpośrednimi funkcjami sieciowymi, takimi jak blog, album itp. Zamiast tego jest to biblioteka funkcji zgrupowanych, takich jak przetwarzanie wiadomości e-mail, tworzenie dokumentów, tworzenie wykresów, uwierzytelnianie itp., Które pomagają w szybszym rozwoju sieci. podanie.

Tworzenie pakietów

Aby utworzyć pakiet, najpierw musimy uporządkować nasz kod źródłowy określony w następujący sposób.

/fuel 
   /packages 
      /package (root directory of package) 
         /bootstrap.php 
      /classes 
         /our.php 
      /classes.php 
         /here.php 
      /config 
         /config.php 
         /and_so_on

Struktura pakietu składa się z dwóch plików specyficznych dla pakietu, config.php i bootstrap.php. Celem pliku konfiguracyjnego jest zgrupowanie konfiguracji pakietu w samym folderze pakietu bez zakłócania pracy głównej aplikacji. Celem pliku bootstrap jest ustawienie przestrzeni nazw, tak aby autoloader ładował go poprawnie.

Oto kilka sposobów ustawienia przestrzeni nazw:

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', 
));

Po poprawnym skonfigurowaniu pliku bootstrap i załadowaniu pakietów do aplikacji możemy go używać w następujący sposób.

$instance = new Myclass; 
$instance = new Mynamespace\Myclass;

Instalowanie pakietów

Pakiety są zwykle umieszczane w katalogu paliwo / pakiety. Domyślnie instalowane są następujące pakiety,

  • auth - Pakiet uwierzytelniający

  • email - Pakiet e-mail

  • oil - Polecenie paliwa, pakiet olejowy

  • orm - pakiet ORM

  • parser - Pakiet parsera Markdown

Aby zainstalować nowy pakiet, dostępne są dwie opcje:

Option 1 - Instalacja ręczna - pobierz i zainstaluj

Aby ręcznie zainstalować pakiet, najpierw pobierz pakiet ze strony autora. Rozpakuj go i umieść podfuel/packages/ teczka.

Option 2 - Metoda automatyczna za pomocą polecenia oleju

FuelPHP zapewnia automatyczny sposób instalacji pakietów hostowanych na github. Użyj następującego polecenia, aby zainstalować pakiet, mytestpackage.

php oil package install mytestpackage

Klonuje kod źródłowy pakietu przy użyciu klienta git i przenosi go do folderu fuel / packages. Jeśli klient git nie jest dostępny, możemy użyć argumentu polecenia –direct, aby skierować polecenie do pobrania i zainstalowania pakietów w następujący sposób.

php oil package install mytestpackage --direct

Korzystanie z pakietów

Pakiety mogą być używane w aplikacji po ich załadowaniu do aplikacji. Istnieją dwa sposoby załadowania pakietów do aplikacji.

Option 1 - Poprzez klasę Package

FuelPHP zapewnia klasę, Package załadować, wyładować i sprawdzić dostępność pakietów odpowiednio za pomocą metod load, unload i load. loadmetoda ma dwa parametry. Pierwszy parametr,$package to nazwa pakietu i drugi parametr, pathjest ścieżką pakietu. Drugi parametr jest opcjonalny, jeśli pakiet jest zainstalowany wfuel/packages teczka.

// 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 - Poprzez plik konfiguracyjny

Aby załadować pakiet na stałe, po prostu dodaj go pod always_load wpis konfiguracji w głównym pliku konfiguracyjnym, fuel/app/config/config.php. Aby załadować pakiet e-mail, użyj następującej składni.

'always_load' => array ( 
   'packages' => array ( 
      'email', 
   ), 
),

Po załadowaniu pakietów do aplikacji możemy z niej korzystać w następujący sposób.

$instance = new Myclass; 
$instance = new Mynamespace\Myclass;