From bf2d79160c2ea11d57fb83eef90a57a120aaaea0 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 14 Apr 2009 00:38:09 -0400 Subject: [PATCH] Relaxed constraints on where views must be placed, made RecessView the default view provider. Changed Controllers default view provider to RecessView --- recess/recess/framework/DefaultPolicy.class.php | 5 +++-- .../recess/framework/controllers/Controller.class.php | 2 +- .../controllers/annotations/ViewAnnotation.class.php | 10 +++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recess/recess/framework/DefaultPolicy.class.php b/recess/recess/framework/DefaultPolicy.class.php index 07ee63f..bf28231 100644 --- a/recess/recess/framework/DefaultPolicy.class.php +++ b/recess/recess/framework/DefaultPolicy.class.php @@ -1,6 +1,7 @@ meta->viewClass); + $view = new $response->meta->viewClass; $response->meta->viewDir = $response->meta->app->getViewsDir() . $response->meta->viewPrefix; return $view; } diff --git a/recess/recess/framework/controllers/Controller.class.php b/recess/recess/framework/controllers/Controller.class.php index 44def68..087136e 100644 --- a/recess/recess/framework/controllers/Controller.class.php +++ b/recess/recess/framework/controllers/Controller.class.php @@ -150,7 +150,7 @@ function wrappedServe(Request $request) { $shortWiredResponse = $this->init(); if($shortWiredResponse instanceof Response) { - $shortWiredResponse->meta->viewClass = 'recess.framework.views.NativeView'; + $shortWiredResponse->meta->viewClass = 'RecessView'; $shortWiredResponse->meta->viewPrefix = ''; return $shortWiredResponse; } diff --git a/recess/recess/framework/controllers/annotations/ViewAnnotation.class.php b/recess/recess/framework/controllers/annotations/ViewAnnotation.class.php index 0a9389d..1c29bf5 100644 --- a/recess/recess/framework/controllers/annotations/ViewAnnotation.class.php +++ b/recess/recess/framework/controllers/annotations/ViewAnnotation.class.php @@ -7,6 +7,8 @@ class ViewAnnotation extends Annotation { protected $prefix = ''; + protected $viewClass = 'RecessView'; + public function usage() { return '!View ViewProvider [, Prefix: pathWithinViews/]'; } @@ -23,7 +25,13 @@ protected function validate($class) { } protected function expand($class, $reflection, $descriptor) { - $descriptor->viewClass = 'recess.framework.views.' . $this->values[0] . 'View'; + if(isset($this->values[0])) { + $this->viewClass = $this->values[0]; + if(strpos($this->viewClass, 'View') === false) { + $this->viewClass .= 'View'; + } + } + $descriptor->viewClass = $this->viewClass; $descriptor->viewPrefix = $this->prefix; }