2010-02-25 7 views
0

I applications web devlopp avec Zend Framework.Avec Zend Framework, quelle est la différence entre le module et le package

Pour l'instant, j'ai une énorme bibliothèque, qui contient chacune une chose, utilisée par quelques applications web. Je pense à la réorganiser, en utilisant le concept de "Module".

Mais je ne suis pas sûr de la différence entre Module et Package.

Ce que je comprends est:

  • un module contient une partie d'une application web (pages, modèles ...)
  • un paquet est un groupe de classe dans la bibliothèque

Est-ce que je le vois bien? Et comment savoir où aller mes cours (modèle d'un module, ou bibliothèque)? Parce que par exemple, j'ai quelques classes pour faire les traductions. J'ai des classes "model", pour représenter une langue, un texte et ses traductions ... Et j'ai une sorte de classe "API" qui est juste là pour traduire une chaîne dans un langage. Je dirais que j'ai besoin d'un module pour les classes de modèles et l'interface web pour éditer les traductions, et la classe d'API irait dans la bibliothèque? Est-ce correct ? N'est-ce pas bizarre d'avoir 2 sortes de classes, une pour le module et une pour la bibliothèque.

Je suppose que c'est une question ouverte sur l'API, la librairie et l'architecture des applications.

Répondre

3

modules, dans le sens ZF, le béton de groupe, souvent mode autonome, demande parties:

modules permettent à un développeur de groupe un ensemble de contrôleurs associés dans un groupe organisé de façon logique. La structure sous le répertoire de modules ressemblerait à la structure sous le répertoire de l'application. [...] La structure du répertoire des modules devrait imiter celui de l'application/répertoire dans la structure du projet recommandé

Un paquet d'autre part est un ensemble de classes dans une bibliothèque de code qui appartiennent conceptuellement ensemble. Par exemple, ActionHelpers et ControllerPlugins appartiennent conceptuellement au package Zend_Controller. Toutes les classes Validator disponibles appartiennent au package Zend_Validate. Lors de l'utilisation de PHPDocumentor, vous pouvez annoter votre code pour qu'il appartienne à des paquets.Si vous regardez les documents API de ZF, vous verrez ce regroupement en vigueur. Essayez de trouver la classe Zend_Validate_Alpha.

Voir

1

Les packages sont des espaces d'espace de noms afin que les symboles avec des noms similaires ne s'affrontent pas. Par exemple, le symbole & main :: first est différent du symbole & List :: Util :: first. Les packages sont des préfixes de noms de sysbols.

Un module est un fichier de code ou un arbre de bytecodes. Un module peut être précompilé (.pmc), non compilé (.pm) sur le disque; ou préchargé en mémoire en tant qu'unité - en supposant qu'il n'y a pas de division automatique.

En résumé: les packages concernent les espaces de noms et les modules les fichiers. Ce sont des choses différentes, comme des pommes et des boîtes - jusqu'au jour où vous commencez à placer une sorte de pomme dans une sorte de boîte, et les gens commencent à penser que les pommes et les boîtes sont liées. Et ils sont! mais encore, l'un dans le fruit et l'autre est un type de récipient.

+0

Ce n'est pas ce que * modules * sont en termes de ZF. – Gordon

+0

oui Gordon, tu as raison je parle des modules ZF –

0

simple à mon avis:
Les modules sont comme Smarty (une bibliothèque avec un objectif ciblé templating) .
Les paquets sont au moins 2 modules qui fonctionnent les uns avec les autres pour offrir une solution plus complète.
Encore une fois mon point de vue simple.