Symfony 2 - contrôleur d'Appel à partir d'un autre contrôleur
Je voudrais utiliser une méthode de contrôleur à partir d'un autre bundle, dans mon contrôleur.
La méthode this->avant besoin d'un objet de Réponse, et je ne sais pas comment l'utiliser.
public function indexAction($name)
{
$response = $this->forward('AcmeHelloBundle:Hello:fancy', array(
'name' => $name,
'color' => 'green',
));
//... further modify the response or return it directly
return $response;
}
Et j'ai vu que je peux utiliser le service, mais je veux savoir si c'est la meilleure solution ou ils en sont un autre.
OriginalL'auteur shmoolki | 2014-10-26
Vous devez vous connecter pour publier un commentaire.
$this->forward
des arguments dans cet ordre:'nom' => $nom,
'couleur' => 'vert',
)
Ces paramètres peut être consulté dans le contrôleur à l'aide d'une demande d'accès fonctions.
OriginalL'auteur Apul Gupta
Parfois, vous voulez contourner la sécurité complètement et exécuter une commande dans un autre contrôleur malgré les autorisations d'un utilisateur. Heureusement, vous pouvez le faire assez facilement.
Tout d'abord, exécutez une Commande d'utilisation de votre contrôleur en haut de la commande que vous souhaitez utiliser les données à partir de:
Ensuite appeler cette fonction à partir de votre contrôleur de destination:
Si vous avez besoin de passer un objet de Requête, vous pouvez le faire de cette façon:
Cela renvoie une Demande auprès de l'ensemble de paramètres de serveur. J'ai également défini un $option2, ce serait une variable souvent défini dans l'URL comme:
Enfin, si vous êtes de passage JSON dans le contrôleur et voulez convertir à un objet, vous pouvez exécuter ce morceau de code sur le $réponse:
Le tour est joué. Accéder à n'importe quel contrôleur forme tout autre contrôleur de dérivation et de la sécurité de la notation pour le contrôleur source. 🙂
OriginalL'auteur Dovy