3 votes

La meilleure façon de partager le code PHP personnalisé entre les projets

Je développe un environnement distribué, principalement en PHP. Beaucoup de mes projets partagent le même code. Par exemple mon code de logging (basé sur log4php mais avec quelques ajouts personnalisés).

Je peux simplement copier-coller ce code dans chaque projet, mais naturellement, si je modifie quoi que ce soit dans ce code, je dois le recoller partout et "espérer" qu'il ne change rien. Ce n'est évidemment pas une bonne méthode.

Je me demandais alors quelle était la meilleure façon de partager ce code ? J'espère qu'il y a quelque chose d'aussi simple que de créer son propre canal privé de type PEAR ? Est-ce que les gens font cela pour ce cas d'utilisation ? Ou existe-t-il un moyen plus simple ? Je préfère ne pas commencer avec des dépôts interdépendants, etc. Si c'est important, j'utilise Mercurial pour le versioning.

Merci à tous.

3voto

Anonymous Points 128

La meilleure solution (que j'utilise également) est peut-être d'héberger le code commun dans un système de gestion des versions tel que Git, Mercurial ou SVN et d'extraire ce code dans chaque projet connexe. Tant qu'un tel projet n'a pas de mises à jour, vous pouvez continuer à travailler sur votre code commun. Si vous souhaitez toucher à nouveau à un projet qui utilise le code commun, vous devez effectuer une mise à jour ou une extraction du code source. Vous mettez alors à jour les sources de votre projet en fonction des modifications apportées à la base de sources commune.

1voto

genesis Points 32591

Qu'en est-il de la directive PHP include_path ?

Il suffit d'ajouter include_path Par exemple /usr/share/php5/

et incluez votre fichier comme suit yourfile.php de chaque projet

1voto

linepogl Points 5110

Utilisez Git ou Mercurial pour cela. Dans les deux cas, vous pouvez créer des sous-modules ou des sous-dépôts.

http://kernel.org/pub/software/scm/git/docs/git-submodule.html

https://www.mercurial-scm.org/wiki/Subrepository

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X