Question: Comment charger un fichier de configuration à partir d'un répertoire Plugin/config?Chargement dynamique des fichiers de configuration du plugin dans CakePHP 3
Projet de démonstration: https://github.com/CakePHPKitchen/CakeDC-Users-Permissions-Example
J'utilise du plugin CakeDC/utilisateurs et il a un fichier permissions.php qu'il charge les autorisations RBAC à partir. D'après ce que je peux dire, il charge le fichier d'autorisations par défaut qui se trouve dans le dossier config du plugin utilisateur OU il charge le fichier permissions.php du dossier app/config. Maintenant, pour mon squelette d'application, j'ai un tas d'autorisations dans l'app/config/permissions.php, cependant, je ne veux pas modifier ce fichier car je vais faire des pulls git à partir du repo en amont et je voudrais pour éviter les conflits.
Donc ce que je voudrais faire est, dans le squelette d'application bootstrap
Je voudrais
foreach(Plugin::loaded() as $plugin) {
$path = Plugin::path($plugin) . 'config/permissions.php';
if(file_exists($path)) {
Configure::load($path, 'default', true);
}
}
Mais je reçois l'erreur suivante ....
Error: The application is trying to load a file from the /Users/jlroberts/Projects/JeffreyLRobertsCom/CakePHPKitchen/PluginDemos/plugins/SharpAgent/config/permissions plugin.
Make sure your plugin /Users/jlroberts/Projects/JeffreyLRobertsCom/CakePHPKitchen/PluginDemos/plugins/SharpAgent/config/permissions is in the /Users/jlroberts/Projects/JeffreyLRobertsCom/CakePHPKitchen/PluginDemos/plugins/ directory and was loaded.
Des idées sur la façon dont je peux charger le fichier permissions.php depuis le répertoire Plugin/config?
J'ai créé un projet de démonstration, il a le code recommandé dans l'exemple Plugin bootstrap.php ... https://github.com/CakePHPKitchen/CakeDC-Users-Permissions-Exemple –
Les permissions n'ont pas encore été ajoutées à la config lorsque le bootstrap du plugin se charge, et si je définis les permissions pour le plugin dans le bootstrap, elles seront finalement écrasées ... –
me semble que le fichier permissions.php n'est pas chargé jusqu'à ce que le constructeur de SimpleRbacAuthorize.php dans CakeDC/auth soit viré ... On dirait que pour moi, pour que ce que vous dites fonctionne, il doit être chargé à partir d'un bootstrap de CakeDC/auth ou CakeDC/users –