- 1
[Opened] [DEV] Précisions sur les CLI
Posted by Damart Emilien on 08/02/2007 03:15
Salut,
J'ai commencé à développer quelques petites améliorations pour Jelix (commandes) et je suis confronté à quelques problèmes:
1°) J'ai vu que seules les extensions suivantes ont été retenues comme dépendances du projet: dom, simplexml, pcre, session, spl, tokenizer. Devant faire face à des règles de développement strictes, j'aimerais savoir jusqu'où peut-on aller dans l'inclusion de classes, la dépendance d'extensions, etc...
Exemple: j'ai besoin du support du format TAR pour l'extraction d'archives, il n'y a aucune classe présente dans le SVN qui fasse de près ou de loin ce dont j'ai besoin. A celà s'ajoutent les formats GZIP BZIP2, ZIP, YAML, etc... Que dois-je faire ?
2°) Y a-t-il un répertoire temporaire que l'on peut utiliser à souhait pour les commandes où doit-on utiliser le répertoire "temp" à la racine ? S'il faut utiliser ce répertoire, alors est-ce que des fonctions/méthodes ont déjà été construites pour ça ? Sinon doit-on utiliser les constantes définies dans le fichier scripts.conf.php ?
3°) Comment instancier un objet jDb depuis un script de commande / où procéder à l'inclusion de la classe ?
[Opened] Re: [DEV] Précisions sur les CLI
Posted by laurentj on 08/02/2007 12:56
Salut,
1) De classes ? C'est à dire ? De classes de projets externes ? Si c'est ce dont tu veux parler, à priori tu peux inclure les classes que tu veux. Par contre je ne veux pas de classes qui ont des dépendances avec d'autres grosses bibliothèques (genre pear). Donc pour ta classe TAR et autres classes pour d'autres formats, y a pas de problèmes en principe à les utiliser. Il suffit de les fournir avec Jelix (et que la licence soit libre)/
Pour les extensions non incluses par défaut avec PHP : il faut en limiter le nombre autant que possible. Il faut pouvoir faire fonctionner Jelix sur un serveur "normal". Pour les commandes, on peut à la limite utiliser des extensions de PHP qui ne sont pas activée par défaut, car en principe on utilise les commandes jelix-scripts sur son propre serveur PHP, que l'on peut donc configurer comme on veut.
2) il faut utiliser le repertoire temp, pour éviter que l'utilisateur ait à créer ou à mettre les droits sur 15 répertoires différents. Pas de méthodes/fonctions pour y accéder, utilise tout bonnement la constante indiquant le chemin (dans scripts.conf.php), et les fonctions de manipulation de fichier classiques de PHP. Tu dois de plus te reposer sur ce qui est déclaré dans scripts.conf.php, sinon tes commandes risquent de ne plus fonctionner si l'utilisateur change les chemins.
3)tu as un exemple d'utilisation dans la commande createdao : il suffit d'appeler la fonction jxs_init_jelix_env() et tu peux alors utiliser jDb (cela utilisera la config de connexion indiquée dans le dbprofils de l'application).
- 1