How to parse a Zend URL for parameters?
php, zend-framework
Solution
How about `$uri = Zend_Uri::factory( $yourUrl )`' ? See Zend_Uri.
Edit: Ah, I see what you mean now. In that case I believe you should try what Gordon suggested. Run your url through the `match` method of your route.
There probably is a way to retrieve the route from the router with something like (not sure though):
$route = Zend_Controller_Front::getInstance()
->getRouter()
->getRoute( 'theRouteName' );
And then do semething like:
$params = $route->match( $yourUrl );
.. which should give you an array of parameters.
Problem
I am trying to extract the GET parameters from a ZF REST URL. It's not the current request and I don't want to call the URL or execute the route, I just need the parameters. I'm looking for a utility function like parse_url(), but for the Zend REST format. Is there one, or do I have to reinvent the wheel? I've tried a few things like creating a new Zend_Controller_Request_Http but the parameters aren't being populated. It is a valid HTTP URL. Edit: Upon request, a sample Zend URL: ``` http://localhost/index/index/param1/foo/param2/bar ``` So I am just trying to get param1 and param2 out of this URL. Edit #2: I tried this but it does not seem to work: ``` $request = new Zend_Controller_Request_Http('http://localhost/home/test/param1/foo/param2/bar'); $front = Zend_Controller_Front::getInstance(); $route = new Zend_Rest_Route($front); var_dump($route->match($request)); ```