Pouvez-vous me donner un exemple, en PHP, qui montre comment les fermetures sont utiles pour créer une interface DSL (interface fluide)?comment les fermetures aident-elles à créer une interface DSL/fluide: exemples PHP?
edit: La réponse acceptée dans la question suivante concerne les fermetures emboîtées. Si quelqu'un pourrait se traduire par cet exemple pour PHP qui serait utile aussi: Experience with fluent interfaces? I need your opinion!
Pourriez-vous également donner un exemple spécifique de fermeture imbriquée avec des objets? Dans le lien fourni par l'affiche originale la réponse acceptée donne l'exemple suivant pour éviter mort fin 'base de données .ConnectionString (cs => cs.User (« nom »); .pass (« xxx ») .Timeout (100); ' Comment le feriez-vous en PHP? Pour autant que j'ai essayé, vous ne pouvez pas imiter cette construction en PHP – qrazi
Je ne suis pas sûr si je comprends le problème ou comment est-il résolu en Java. Cependant, je suis sûr qu'il y a un moyen de contourner cela en PHP (bien que cela puisse différer de la façon dont cela se fait en Java). –
C'est en fait C#. Je travaille sur des tests fonctionnels avec Selenium et PHPUnit, en utilisant le modèle Page Object. Je voudrais utiliser les objets de la page d'une manière fluide. Disons donc que j'ai un objet pageA et un objet pageB, tous les deux utilisent le même type de popup (pageC). Lorsque vous fermez la fenêtre contextuelle, quel objet vous renvoie? Dans l'exemple C#, vous n'avez pas à vous en soucier, à cause de la fermeture imbriquée. Dans mon exemple, cela signifierait que lorsque vous fermez la fenêtre contextuelle, vous quittez la fermeture et continuez avec pageA ou pageB. – qrazi