Question

Lors de la création de certaines de mes applications PHP, de nombreuses fonctionnalités pourraient être codées à l'aide de modules PEAR / PECL. Cependant, le fait que certaines personnes l'utilisant ne disposent pas toujours de l'accès nécessaire pour installer des logiciels, cela pose un casse-tête pour moi.

Devrais-je laisser certains utilisateurs utiliser PEAR / PECL pour des fonctionnalités qui me permettraient de coder un système plus rapidement que si j’écrivais mes propres fonctionnalités, tout en empêchant certaines personnes de les utiliser?

Était-ce utile?

La solution

Cela dépend en partie du temps dont vous disposez et du but du projet. Si vous essayez simplement de faire quelque chose qui fonctionne, utilisez PEAR / PECL. Si vous essayez d'apprendre à être un meilleur programmeur et que vous avez le temps, alors je vous recommande de faire l'effort d'écrire vos propres versions. Une fois que vous avez compris les entrailles de ce que vous essayez de remplacer, vous pouvez passer à la version PEAR / PECL afin de ne pas perdre votre temps à réimplémenter ce qui a déjà été mis en œuvre ...

... mais d'un autre côté, les outils préexistants ne font pas toujours exactement ce dont vous avez besoin, et ont parfois des frais généraux qui ne vous font aucun bien. C’est la raison pour laquelle les outils de ligne de commande Unix ont un objectif si petit et si étroit; personne n'a vraiment besoin d'une version de 'ls' qui puisse faire autre chose que ce que 'ls' peut faire actuellement. Votre version de la bibliothèque PEAR, en vertu de son écriture, fera exactement ce que vous devez faire. Cela nécessite une réflexion approfondie ...

... mais sur votre main agressive, ne passez pas trop de temps à y penser. Prenez cinq minutes, prenez une décision et commencez à coder. Même si vous prenez la mauvaise décision, vous aurez au moins appris davantage à coder. : -)

Autres conseils

Gagnez du temps de développement en développant avec les bibliothèques pear et fournissez les bibliothèques incluses dans ce que vous distribuez (vous devrez toutefois vous assurer qu'il respecte les exigences en matière de licences)

Je ne dépendrais pas de l'installation de certaines extensions PECL, à moins que vous ne fassiez quelque chose de particulièrement lié à l'une d'elles (disons une interface Web XDebug), la majorité des installations comportera un ensemble d'extensions relativement vanille.

Ma suggestion est de commencer en supposant que les modules PEAR / PECL soient complets et d'obtenir le reste du code. Ensuite, une fois que la plupart de votre code fonctionne comme vous le souhaitez, vous pouvez évaluer le retour en arrière et remplacer pièce par pièce le code extérieur par le vôtre. De plus, vous aurez alors une meilleure idée de l'impact de leur utilisation sur votre base d'utilisateurs.

Codez-le initialement à l'aide de PEAR / PECL et, si vous incitez les gens à demander une version non PEAR / PECL, commencez à coder vos propres alternatives, puis pour une telle version.

Le développement initial ira beaucoup plus vite avec cela, et vous constaterez peut-être que personne ne se soucie de demander des bibliothèques tierces une fois que vous avez commencé à publier des applications.

Utilisez PEAR mais autorisez l’inclusion des packages PEAR dans votre projet. Tous les packages PEAR peuvent être téléchargés séparément à partir de http://pear.php.net/ et peuvent être placés n'importe où. . En fonction de la commodité et des problèmes de licence, vous pouvez regrouper tous les fichiers PEAR requis avec votre projet ou indiquer aux utilisateurs comment télécharger et installer "Installation". eux.

Ce que je fais la plupart du temps, c'est que je n'utiliserai jamais PEAR installé globalement sur un serveur. Les versions peuvent changer et affecter votre application .. Au lieu de cela, j'ai un fichier de configuration (dans mon cas, XML) qui répertorie tous les packages requis et leurs versions. Le programme d’installation se connecte à mon référentiel FTP personnel, puis télécharge et installe tous les packages PEAR localement dans $ PROJECTBASE / lib / pear / .. Et PEAR est exécuté localement et non globalement. Quelque chose que vous voudrez peut-être envisager.

L'utilisation de PEAR n'est pas un problème. Si les utilisateurs n'ont pas d'accès root à leur serveur Web, ils peuvent simplement télécharger les fichiers PHP à partir de pear.php.net et les ajouter à leur chemin d'inclusion. PECL est un peu plus délicat à utiliser, car il n’ya souvent aucun moyen d’installer de nouveaux modules sans accès root.

Vous devez faire attention car beaucoup de modules en poire sont vraiment de qualité plutôt médiocre.

Certains sont excellents, ne vous méprenez pas, mais ne supposez pas qu’un produit en poire, du fait qu’il est en poire, est d’une qualité donnée. Cela signifie que vous devez au moins parcourir la source d'un module pear avant de décider de l'utiliser, ce qui, pour des tâches assez simples, peut prendre plus de temps que de ne pas utiliser pear.

pecl est différent, cependant. Les extensions ont tendance à être mieux contrôlées et testées, sinon elles planteraient php.

Réitérant une grande partie de ce qui a déjà été dit: http://www.codinghorror.com /blog/archives/001145.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top