FuelPHP - Moduły
Moduł to świetny sposób na pisanie funkcjonalności internetowych wielokrotnego użytku, takich jak blog, album, czat itp. Moduł nie zakłóca innego kodu w aplikacji internetowej. Mieszka we własnym folderze i po cichu zapewnia swoją funkcjonalność. Moduły to po prostu ten sam kontroler, modele i widoki, z tym wyjątkiem, że są pogrupowane, konfigurowane i umieszczane w specjalnym folderze. Zwykle moduł znajduje się w podkatalogu aplikacji o nazwie modules, który znajduje się pod adresem fuel / app / modules.
Konfiguracja modułu
Możemy zdefiniować ścieżkę modułów w głównym pliku konfiguracyjnym aplikacji, fuel / app / config / config.php w następujący sposób.
'module_paths' => array (
path/to.’modules'.DS, // path to application modules
path/to.’..’.DS.'globalmods'.DS // path to our global modules
),
Przestrzeń nazw modułów
W FuelPHP każdy moduł ma własną przestrzeń nazw PHP. Ustawienie oddzielnej przestrzeni nazw rozwiązuje konflikty nazw. Na przykład moduł pracownika można ustawić w obszarze nazw EmployeeModule w następujący sposób.
<?php
namespace Employeemodule;
class Controller_Employee {
//code here
}
Moduł musi mieć taką samą nazwę, jak nazwa folderu modułu.
Struktura modułu
Możemy stworzyć moduł tworząc nazwę folderu zdefiniowaną w konfiguracji. Nazwa folderów określa nazwę modułu i nazwę przestrzeni nazw dla klas w module.
Struktura modułu jest następująca -
- classes
- controller
- model
- view
- config
- lang
- tasks
- views
Moduł może mieć własne pliki konfiguracyjne. Jest to bardzo przydatne w konfiguracji routingu i nie zakłóca oryginalnej konfiguracji aplikacji. Inną ważną koncepcją jest to, że klasa modułu może być ponownie wykorzystana, ładując moduł w sekcji konfiguracji always_load w następujący sposób.
'always_load => array (
'modules' => array('employeemodule'),
),
Ponadto moduły mogą być ładowane i używane natychmiast bez konfigurowania w następujący sposób.
Module::load('employeemodule');
\Employeemodule\Myclass::mymethod('params');