-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ConnectionManager::destroy & bulk #26
Comments
Je n'ai pas d'avis là dessus. Si tu regardes les méthodes update() et destroy() des repositories, elles utilisent la solution 2, avec une méthode intermédiaire persistConnection ou removeConnection qui type l'entrée. Impossible donc de persister/supprimer un mauvais type etc .. C'est une pratique courante dans doctrine et ça facilite la vie, sans être à mon sens stupide. |
La si tu balance un $repository->update(new \stdClass()); tu aura une erreur PHP qui sera générée par une méthode protégé de Repository. $connectionManager->destroy(new \stdClass()); et l'utilisateur chopera une erreur qui viendra d'une méthode protégée d'un Repository.. Après, à l'utilisation, c'est en effet plus pratique de pouvoir balancer une ConnectionInterface ou un array directement, je suis d'accord. |
Oui c'est ce que je dis, persistConnection/removeConnection balancera une erreur sur le type. |
Je me suis mal exprimé. Du coups, |
Et bien dans ce cas, conservons le destroy(ConnectionInterface $connection) et rajoutons un destroyBulk(array $connections) dans le manager. |
Un petite interrogation. |
Alors de mon coté, le destroyBulk ne me servira pas je pense, mais ça peut être utile de l'implémenter. Par contre pour le destroy, je pense qu'il faut le laisser en public, car dans un traitement ou l'on doit récupérer des connections, boucler, etc ... il peut être intéressant d'appeler directement destroy() plutot que de passer les nodes correspondantes à la connection. Ca a un coté pratique je trouve. |
Pensez-vous qu'un utilisateur puisse se retrouver avec une ensemble de Connection à supprimer ?
Si tel est le cas, il faut que l'on change le prototype de ConnectionManager::destroy.
Actuellement
En (solution 1)
Ou (solution 2)
Personnellement, je ne suis pas fan des paramètres dont le type est mix et je vote pour la solution 1.
The text was updated successfully, but these errors were encountered: