Comment puis-je basculer correctement la nouvelle infrastructure Symfony 1.4 de Doctrine (configurée par défaut) vers Propel?Basculez symfony 1.4 de Doctrine vers Propel
Répondre
Si vous créez (frais) projet ...
symfony generate:project xxx --orm=Propel
La chose la plus facile :)
Si vous souhaitez modifier un projet existant - vous devez creuser dans le fichier de configuration et activer le plugin Propel .
Votre fichier de configuration devrait ressembler à:
// config/ProjectConfiguration.class.php
public function setup()
{
$this->enablePlugins('sfPropelPlugin');
...
}
(basé sur la page Symfony, vous devez creuser la prochaine fois - en particulier Practical Symfony)
Utilisez Propel si vous aimez la syntaxe orientée objet.
Si vous aimez les appels de méthode d'objets chaînés qui ressemblent à des instructions SQL, utilisez Doctrine. Si vous aimez les objets réels qui masquent SQL, utilisez Propel.
Si vous aimez créer des objets de critères qui se transforment en clauses WHERE, utilisez Propel. Si vous aimez créer des clauses WHERE similaires à SQL, utilisez Doctrine.
Vous pouvez utiliser les deux en même temps. Non recommandé, mais si vous utilisez des plugins comme apostrophe qui n'utilisent que Doctrine, vous n'aurez peut-être pas le choix.
merci! Ouais! correct. –
Répondant aux contributeurs ici qui recommandent entièrement Doctrine: la décision n'est pas claire, à mon avis. Propel prend désormais en charge les méthodes d'interrogation chaînables. Si vous aimez cette approche, les deux sont toujours en jeu. En outre, l'équipe Propel maintient que la nature générée des objets du modèle accélère leur exécution dans la plupart des cas d'utilisation de Doctrine.
BTW, si vous commencez un nouveau projet, je ** fortement ** recommander Doctrine. C'est mieux. –
Je suis d'accord avec Tomasz. N'utilisez pas Propel. –
et Priidik: au moins s'il vous plaît donnez quelques arguments, liens etc expliquant précisément pourquoi Doctrine est mieux que Propel (mais après plus d'un an, les arguments ont certainement changé ...). –