Yes, you can create custom action methods in your controller. Although you're extending the abstract class Zend_Rest_Controller, as long as you define those 5 abstract methods (the ones you've already mentioned), you're free to customise the rest of your class.
The only similar method you might look into is the getAction()
. This expects a parameter with the name of ID and will retrieve a record based on the primary key.
You'd probably have to define your routing in a configuration file:
routes.archive.route = "search/:keyword"
routes.archive.defaults.controller = books
routes.archive.defaults.action = search
routes.archive.defaults.year = "Hamlet"
routes.archive.reqs.year = "\s+"
And then you need to feed these configuration options into your Router:
$config = new Zend_Config_Ini('/path/to/config.ini', 'production');
$router = new Zend_Controller_Router_Rewrite();
$router->addConfig($config, 'routes');
Read Zend's documentation for a more in-depth tutorial.