2011-08-03 4 views
0

Je fais une application principale dans CakePHP 1.3.10 qui a un couple de plugins. Dans l'un d'eux, j'ai besoin d'utiliser un très grand tableau ($array_test) rempli "manuellement".CakePHP inclure le fichier php externe dans le plugin

La façon dont je l'ai maintenant (qui fonctionne parfaitement) est que je déclare le tableau dans le contrôleur du plugin que je veux l'utiliser dans (plugin1_home_controller.php par exemple), faire quelque chose comme var $array_test = array(1,2,3,4,5...), et Je peux y accéder parfaitement à partir des vues de ce contrôleur. Le fait est que je préférerais que le tableau soit déclaré ailleurs dans le plugin, car il est trop grand, et ensuite le charger quand j'en ai besoin.

Je suis en train de créer un fichier array_test.php avec le tableau déclaré en elle, mettre en /app/plugins/plugin1/webroot/php/array_test.php, puis le charger de la voir en utilisant include "/php/array_test.php" (J'ai aussi essayé include "/plugin1/php/array_test.php" comme le dit le CakeBook dans la section des assets des plugins), mais aucun ne fonctionne.

Comment puis-je obtenir le bon chemin? Ou y a-t-il une bonne alternative à ce que je veux faire? Merci d'avance!

Répondre

2

Si votre plugin est dans l'utilisation du répertoire de l'application:

APP_PATH.'plugins'.DS.'plugin1'.DS.'webroot'.DS.'php'.DS.'array_test.php' 

Si votre plugin est installé dans le répertoire gâteau commun:

CORE_PATH.'plugins'.DS.'plugin1'.DS.'webroot'.DS.'php'.DS.'array_test.php' 
+2

Cool! Ça marche! Merci beaucoup. Je viens de découvrir que je peux utiliser 'App :: import ('Plugins', 'plugin1.php/array_test.php');' aussi, mais je dois déclarer le tableau comme une propriété d'une classe. Quelle est la meilleure façon? Votre chemin nécessite moins de code, c'est certain, mais je ne sais pas s'il y a un avantage à utiliser l'Import et une classe ... – Albert

+1

Un simple include a moins de frais généraux – Daniel

Questions connexes