Modules et contrôleurs de conception
Générez des contrôleurs, des modules et des plug-ins avec la CLI.
Contrôleurs
Section intitulée « Contrôleurs »./nibiru -c productsCrée deux fichiers :
application/controller/productsController.phpapplication/view/templates/products.tplLe squelette du contrôleur :
<?phpnamespace Nibiru;use Nibiru\Adapter\Controller;
class productsController extends Controller{ public function pageAction() { View::assign(['title' => 'Products']); }
public function navigationAction() { JsonNavigation::getInstance()->loadJsonNavigationArray(); }}Le modèle squelette :
{include 'shared/header.tpl'}<body>{include file="navigation.tpl"}<main class="container"> <h1>{$title}</h1></main>{include 'shared/footer.tpl'}</body>Les contrôleurs sont des fichiers PHP uniquement — pas de squelette JS ou CSS, donc vous restez en contrôle du cordonnage des actifs.
./nibiru -m billingCrée :
application/module/billing/├── billing.php├── interfaces/billing.php├── plugins/├── settings/billing.ini└── traits/La classe principale implémente IModule et expose un constructeur qui charge la configuration de registre du module. Ajoutez l’indicateur -g pour inclure le câblage observateur Graylog par défaut :
./nibiru -m billing -gLorsque -g est défini, le squelette importe un observateur Graylog, l’attache dans le constructeur et émet notify() lors des changements d’état clés — de sorte que tout serveur Graylog capable de GELF capture les événements du module sans aucune configuration supplémentaire.
Un plugin vit à l’intérieur d’un module :
./nibiru -p invoices -m billingCréez application/module/billing/plugins/invoices.php :
<?phpnamespace Nibiru\Module\Billing\Plugin;use Nibiru\Module\Billing\Billing;
class Invoices extends Billing{ public function listOpen(): array { return \Nibiru\Pdo::fetchAll( 'SELECT * FROM invoices WHERE status = :s ORDER BY due_date', [':s' => 'open'] ); }}Les plugins héritent du module, donc ils partagent son registre, ses paramètres et sa machine d’observation.
Bootstrap (-s)
Section intitulée « Bootstrap (-s) »./nibiru -s s’exécute après l’installation (ou après avoir effectué un nouveau checkout frais) pour :
- Créez
application/view/templates_c/etapplication/view/cache/s’ils sont manquants. - Vérifiez les autorisations (écrivables par l’utilisateur du serveur web) sur ces dossiers.
- Vérifiez que les extensions PHP requises sont chargées.
- Vérifiez que le pilote de base de données dans votre INI est pris en charge par cette version binaire.
Il est sûr de le lancer plusieurs fois.
Effacement du cache (-cache-clear)
Section intitulée « Effacement du cache (-cache-clear) »Efface à la fois le cache de compilation de Smarty et le cache du HTML rendu :
./nibiru -cache-clearExécutez après un déploiement lorsque :
- Vous avez modifié des fichiers
.tpl, - Vous avez changé les paramètres de mise en cache
[ENGINE], - Vous avez modifié des plug-ins Smarty.
Le cache se régénère à la prochaine requête.