2010-06-03 6 views
1

Je suis intéressé à en apprendre davantage sur les pratiques de conception en PHP pour l'abstraction de la base de données & Méthodes d'usine. Pour le contexte, mon site est une communauté de réseautage social d'intérêt commun actuellement en mode bêta.Base de données Abstraction et méthodes d'usine

Actuellement, j'ai commencé à déplacer mon ancien code pour la récupération d'objets vers les méthodes d'usine. Cependant, j'ai l'impression de me limiter en gardant beaucoup de noms et de structures de tables SQL séparés dans chaque fonction/méthode.

Questions:

  1. Y at-il une raison d'utiliser AOP (ou similaire) si je n'anticipe les bases de données de commutation?

  2. Est-ce que l'interface PDO peut être utilisée avec les instructions préparées MySqli que j'utilise actuellement en ?

  3. Est-ce que cela m'aidera à séparer les noms de tables de chaque méthode? (Si non, quels autres modèles de conception puis-je rechercher ?)

  4. Est-ce que cela va ralentir mon site une fois que j'ai une base de membres importante?

+2

Toutes les communautés de réseautage social ne ciblent-elles pas un «intérêt particulier»? –

+0

Je suppose que je devrais appeler cela d'intérêt commun. Comme facebook/myspace serait des communautés génériques pour n'importe qui. Une communauté de snowboard par exemple est d'intérêt commun. – pws5068

+1

Je pense que vous devriez poser cette question à propos de PDO, pas PEAR. PDO fait partie de PHP et est compilé en code natif. – webbiedave

Répondre

1

Nettuts a récemment eu un article sur some of the benefits to using PDO. En ce qui concerne votre question concernant l'abstraction, vous pouvez vous intéresser à Object Relational Mapping (ORM) qui vous permet d'accéder aux enregistrements de la base de données de la même manière que les objets php natifs. La plupart de mon expérience a été avec le framework Kohana, et j'aime le fonctionnement de leur ORM, mais la plupart des frameworks php populaires devraient avoir de bons exemples de méthodes d'abstraction de bases de données. Je trouve que lire où quelqu'un d'autre l'a fait de la «bonne» façon m'aide.

1

Je voudrais appuyer Rookwood en regardant ORM. J'ai eu de bonnes expériences avec Doctrine. Construire quelque chose vous-même serait une perte de temps dans de nombreux cas.

1

Je recommanderais d'utiliser PEAR ou PDO ... pourquoi?

1) Il a été testé et utilisé par des dizaines de milliers de programmeurs. Si vous avez besoin d'un autre programmeur pour vous aider, il y a de bonnes chances qu'ils connaissent le PDO. Il n'y a pratiquement aucune chance qu'ils connaissent votre API.

2) Vous ne pensez pas que vous allez changer de base de données ... MAIS, que se passe-t-il si un changement de version ou quelque chose comme ça arrive vous oblige à migrer?

Questions connexes