2010-11-29 5 views
2

J'ai du code que je veux organiser dans une classe ou une bibliothèque pour que d'autres développeurs puissent l'utiliser plus facilement sur leur site web.Comment créer une bibliothèque

La façon dont j'utilise la classe est maintenant d'instancier une instance de celle-ci et de commencer à appeler les fonctions dont j'ai besoin quand j'en ai besoin. Est-ce fondamentalement tout ce dont j'ai besoin pour faire une bibliothèque, ou ai-je besoin de faire d'autres changements pour en faire une bibliothèque?

+0

Dépend de vos besoins. Essentiellement ... Voulez-vous apprendre la POO de PHP? Consultez http://php.net/manual/fr/language.oop5.php –

+1

N'oubliez pas la documentation! –

Répondre

1

Cela dépend de ce que votre bibliothèque est exactement. Une classe est une bonne solution si vous êtes décrivant un objet qui peut avoir des propriétés et des méthodes, et toutes les actions sont liées à cet objet.

Si vous avez seulement une collection de fonctions et vous pouvez supposer que les utilisateurs auront PHP 5.3+, alors vous pourriez juste les définir sous un namespace.

1

Cela dépend beaucoup de la fonctionnalité que vous fournissez. Si la bibliothèque est juste un groupe de fonctions, alors il pourrait être préférable de les avoir statiques:

class MyLib 
{ 
    public static function convertData($data) 
    { 
     // Do something 
    } 
} 

Mais si cela dépend de l'objet instancié et des informations stockées dans cet objet, je le laisserais comme -est. Tout dépend de la façon dont vous l'utilisez.

1

PHP n'a pas de concept de bibliothèque autre que ce que vous faites déjà. Si vous voulez l'abstraire (assurez-vous que cela fonctionne en dehors de votre application) et le déplacer dans un répertoire/fichier séparé, vous pouvez, mais cela ne le qualifie pas comme une bibliothèque plus que d'habitude!

Je noterai cependant, il y a quelques cadres qui emploient le terme la bibliothèque comme quelque chose de spécifique, mais vous devrez regarder dans la documentation du cadre individuel pour cela, j'ai peur.

1

Pour autant que je sache, oui. Mais vous devez rendre votre bibliothèque compatible avec les standards d'auto-chargement acceptés. De cette façon, les développeurs peuvent simplement le déposer dans leur système et commencer à l'utiliser.

http://groups.google.com/group/php-standards/web/psr-0-final-proposal?pli=1

+0

Je connais l'auto-chargement depuis les frameworks que j'utilise comme Symfony et Zend, mais je ne pense pas avoir besoin de charger automatiquement une bibliothèque externe. Si je ne rends pas la bibliothèque compatible avec les standards d'auto-chargement acceptés, que se passera-t-il? Le développeur ne peut-il pas simplement l'enregistrer quelque part dans son chemin et en créer une instance et commencer à l'utiliser? – silow

+0

S'il n'est pas compatible avec l'autochargeur, il devra le charger manuellement avec require() ou include(). Si c'est le cas, ils peuvent simplement le mettre dans leur répertoire lib et ça marche. – Jonah

Questions connexes