summaryrefslogtreecommitdiff
path: root/core/config/routes.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-11-19 04:20:35 +0000
committerBharat Mediratta <bharat@menalto.com>2008-11-19 04:20:35 +0000
commit5638fc5fb60823544f1944bdf40705a19b7365f1 (patch)
tree2102a8053df65dda50807c3ad67fdeb416071ed3 /core/config/routes.php
parente0efdee8b2a2ba2ee1b86cfb2b7863a88877c00e (diff)
Change the way that we do RESTful routing.
1) We now use __call() in REST_Controller to handle any requests to a controller that were not already handled. In the case of RESTful controllers, this should be the only entry point (although they're free to break the model and add other ones.. nothing stops them). This means that we can remove all the catch-all routes in routes.php which greatly simplifies it. 2) Move request_method() and output_format() out of REST_Controller and into the REST helper in core/helpers/rest.php 3) Experiment with letting the various subclasses check the output_format and deal with it themselves. This simplifies the API, but it might be a bad idea in that it might push too much work to the individual controllers. It's a balancing act, time will tell, I'm willing to change it back later.
Diffstat (limited to 'core/config/routes.php')
-rw-r--r--core/config/routes.php16
1 files changed, 2 insertions, 14 deletions
diff --git a/core/config/routes.php b/core/config/routes.php
index 0e2aa887..ac4a8cb0 100644
--- a/core/config/routes.php
+++ b/core/config/routes.php
@@ -18,20 +18,8 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
-// FIXME Temporary workaround to show the welcome page at /welcome.
-// The problem is that we're routing all requests to /{controllername} to Rest_Controller,
-// even requests to controllers that do not implement Rest_Controller.
-$config['^welcome$'] = 'welcome';
-$config['^media_rss/feed/(\d+)'] = 'media_rss/feed/$1';
-
-// REST configuration
-// Any resource requests (eg: album/1 or comment/3) get dispatched to the REST
-// dispatcher, and the abstract REST_Controller is not directly routable.
-$config['^rest'] = null;
-$config['^rest/.*'] = null;
-$config['^(\w+)/(\d+)$'] = '$1/dispatch/$2';
-$config['^(\w+)$'] = '$1/dispatch/0';
-$config['^form/(edit|add)/(\w+)/(.*)$'] = '$2/form_$1/$3';
+// The abstract REST_Controller is not directly routable.
+$config['^rest\b'] = null;
// For now our default page is the scaffolding.
$config['_default'] = 'welcome';