CakePHP, les Paramètres GET et de routage
Je suis assez nouveau à cakephp mais j'ai une question concernant les url et les paramètres. Je voudrais être en mesure d'avoir une url qui ressemble à une url standard e.g:
http://www.mysite.com/controller/myaction?arg=value&arg2=val
Je voudrais que l'url de la carte à une action dans mon contrôleur comme suit:
function myaction($arg = null, $arg2 = null)
{
//do work
}
Je me rends compte que cakephp a de routage tel que décrit ici, cependant, honnêtement, cela semble trop ingénierie et les résultats dans une chaîne d'url non standard.
Dans ma situation actuelle l'url est générée et invoquée par un externe (facturation) du système qui ne sait rien sur le gâteau et ne prend pas en charge le gâteau url format.
OriginalL'auteur Introgy | 2010-12-18
Vous devez vous connecter pour publier un commentaire.
Vous pouvez avoir votre URL dans n'importe quelle forme. C'est juste CakePHP vous permet de récupérer la variable passée par OBTENIR à partir de la variable
$this->params['url']
Que vous vouliez dire " isset, non? is_set n'est pas une fonction php.
OriginalL'auteur Sunny
Solution dans AppController pour CakePHP 2.x
OriginalL'auteur Sergio
J'ai un problème similaire. Pas parce que j'ai un système externe, mais parce que je n'aime pas mettre tous les paramètres dans l'URL-path. Dans mon exemple, j'ai quelques requêtes de recherche qui sont assemblés et transmis au contrôleur. À mon humble avis, ces requêtes doivent être les paramètres GET et ne fait pas partie de l'URL-path.
Un avantage de l'utilisation des paramètres GET, c'est que l'ordre des paramètres n'est pas important, contrairement au passage de paramètres via le chemin de l'URL.
Pour résoudre ce problème de manière générique, je suis le remplacement de tous les arguments de méthode avec la valeur de la GET-param, si un avec le même nom est donné:
Maintenant, je peux accéder à cette méthode de contrôleur et de passer des paramètres via GET comme ceci:
OriginalL'auteur ifischer