2013-01-31 1 views
1

J'essaye de capturer des barres obliques d'une URL et de les passer dans mon contrôleur. Voici un exemple de mon problème:Codeigniter: Comment capturer les barres obliques dans la route et passer au contrôleur?

Disons que j'OBTIENS http://localhost/here/is/an/example où mon itinéraire ressemble à:

$routes['here/is/(:any)'] = 'my_controller/$1'; 

et j'ai la définition de fonction suivante dans my_controller:

public function index($rest_of_the_path) { 
... 
} 

Je voudrais la valeur de $rest_of_the_path est 'an/example', mais elle est en fait égale à 'an'. Comment puis-je structurer mon code pour obtenir ce que je veux?

P.S .: J'utilise CodeIgniter 2.1.3

Répondre

1

Vous pouvez simplement faire ceci:

public function index() { 
    $rest_of_the_path = implode("/", func_get_args()); 
    ... 
} 
+0

C'est génial! Pouvez-vous m'expliquer comment cela fonctionne? Je ne comprends pas comment vous pouvez appeler func_get_args() quand il n'y a pas de paramètres. –

+0

C'est ce que fait func_get_args(). C'est une fonction en php. Pour plus d'informations, vous pouvez lire http://php.net/manual/fr/function.func-get-args.php. Vous pouvez l'utiliser pour n'importe quelle fonction et cela fonctionne. –

+0

Brillant. Une sorte de façon laide de le faire, mais mieux que l'alternative. Je me sens comme ça avec beaucoup de choses en PHP, en fait. –

Questions connexes