2010-10-03 1 views
2

Je travaille sur un petit site Web et j'ai besoin d'afficher des blocs de texte statique sur la première page. Ces blocs seront appelés plus tard comme paragraphes ou balles et ainsi de suite.Stockage de texte statique pour frontpage Zend Framework

Où est ce que tu suggères de stocker ce texte? Est-ce qu'ils vont aussi variable dans chaque vue où ils sont utilisés? Je pourrais le faire, mais je préférerais avoir un emplacement central pour tout ce texte.

Pour l'instant, le site est très petit et n'a pas besoin d'être piloté par une base de données, mais cela changera probablement, donc cela ne me dérange pas d'utiliser la base de données pour le stockage si c'est une meilleure pratique. Bien que je pense stocker dans la base de données rendra plus difficile d'éditer le texte de mon IDE.

Je devine seront toujours les mêmes et il n'y aura pas de nouveaux textes générés dynamiquement la structure MVC Zend utilise la pensée d'une solution pour ce déjà

Répondre

2

Si vos blocs de texte statique, alors vous pourriez Utilisez des partiels dans Zend.

stockez tous vos petits textes comme partiels. Dans votre script de vue que vous aurez:

echo $this->partial('partial01.phtml',array('somedata'=>'if you need it')); 

Vous avez juste besoin d'avoir le fichier partial01.phtml et tout autre dont vous avez besoin dans le répertoire vues/scripts.

+0

Que faire si le contenu est une liste de petites phrases. Il ne serait pas logique de créer un partiel pour chaque phrase. Je veux toujours garder chaque phrase séparée afin que je puisse la styliser différemment, comme une puce ou autre chose. En d'autres termes, je ne veux pas que le partiel contienne du balisage, donc je peux contrôler le balisage dans le fichier principal. – dave

+0

J'irais avec une base de données dans ce cas. – Slavic

3

On dirait que les points clés sont les suivants:

  1. d'avoir toutes les données dans une première atomique, le format un style
  2. stockées sur le système de fichiers afin que vous pouvez facilement modifier via IDE.

Donc, peut-être un fichier XML? Il peut éventuellement assigner un identifiant à chaque segment de texte atomique. Ensuite, vous pouvez écrire une classe qui lit le fichier XML et offre une interface comme getAll(), getById($id). Cela vous obtient les données brutes que vous pouvez ensuite le style mais vous voulez - dans un tas de <p> « s, <li> » s, etc.

SimpleXML est assez facile de travailler avec.

+0

J'aime l'idée de getById .. Quant au XML, lequel serait plus rapide à récupérer, à stocker en XML ou à stocker dans une base de données? – dave

+0

Pour les petits ensembles de données, je suppose que XML car il réside dans le système de fichiers, pas de latence réseau. L'inconvénient est que vous devez analyser le fichier entier. Un db avec une indexation correcte serait probablement mieux pour tirer des éléments individuels en utilisant getById(), en particulier avec un plus grand ensemble d'éléments. Un db comme sqlite basé sur un système de fichiers pourrait être le meilleur des deux mondes. Mais rappelez-vous qu'une fois que vous allez à une base de données de n'importe quel type, vous perdez probablement la capacité d'édition dans l'IDE. –