Undefined offset: 0
Location: Line 18 of /var/www/recess/recess/lib/recess/database/orm/annotations/TableAnnotation.class.php
- 14:class TableAnnotation extends ModelAnnotation {
- 15: public $table;
- 16:
- 17: function init($array) {
- 18: $this->table = $array[0];
- 19: }
- 20:
- 21: function massage(ModelDescriptor &$descriptor) {
- 22: $descriptor->setTable($this->table);
- 23: }
Local Context
Name |
Type |
Value |
$array |
array |
Array[0] |
Call Stack
11
Diagnostics::handleError( Array )
Arguments Passed In
Type |
Value |
array |
Array[0] |
Called From
- 14:class TableAnnotation extends ModelAnnotation {
- 15: public $table;
- 16:
- 17: function init($array) {
- 18: $this->table = $array[0];
- 19: }
- 20:
- 21: function massage(ModelDescriptor &$descriptor) {
- 22: $descriptor->setTable($this->table);
- 23: }
10
TableAnnotation->init( '/**
* !Database Default
* !Table
*/' )
Arguments Passed In
Type |
Value |
string |
'/**
* !Database Default
* !Table
*/' |
Called From
- 53: $annotationClass = $annotation . 'Annotation';
- 54:
- 55: if(in_array($annotationClass,get_declared_classes())) { // TODO: Less expensive way of handling this than calling get_declared_classes?
- 56: $annotation = new $annotationClass;
- 57: $annotation->init($array);
- 58: } else {
- 59: throw new UnknownAnnotationException('Unknown annotation: "' . $annotation . '"',0,0,'',0,get_defined_vars());
- 60: }
- 61:
- 62: $returns[] = $annotation;
9
Annotation::parse()
Called From
- 52: if($docstring == '') return array();
- 53: else {
- 54: $returns = array();
- 55: try {
- 56: $returns = Annotation::parse($docstring);
- 57: } catch(InvalidAnnotationValueException $e) {
- 58: throw new InvalidAnnotationValueException('In class "' . $this->name . '".' . $e->getMessage(),0,0,$this->getFileName(),$this->getStartLine(),array());
- 59: } catch(UnknownAnnotationException $e) {
- 60: throw new UnknownAnnotationException('In class "' . $this->name . '".' . $e->getMessage(),0,0,$this->getFileName(),$this->getStartLine(),array());
- 61: }
8
RecessReflectionClass->getAnnotations( 'Post' )
Arguments Passed In
Called From
- 160: } catch(ReflectionException $e) {
- 161: throw new RecessException('Class "' . $class . '" has not been declared.', get_defined_vars());
- 162: }
- 163:
- 164: $annotations = $reflection->getAnnotations();
- 165: foreach($annotations as $annotation) {
- 166: if($annotation instanceof ModelAnnotation) {
- 167: $annotation->massage($descriptor);
- 168: }
- 169: }
6
call_user_func( Array, 'Post' )
Arguments Passed In
Called From
- 79: $descriptor = Cache::get($cache_key);
- 80:
- 81: if($descriptor === false) {
- 82: if($instance instanceof RecessObject) {
- 83: $descriptor = call_user_func(array($class, 'buildClassDescriptor'), $class);
- 84: Cache::set($cache_key, $descriptor);
- 85: self::$descriptors[$class] = $descriptor;
- 86: } else {
- 87: throw new RecessException('RecessObjectRegistry only retains information on classes derived from RecessObject. Class of type "' . $class . '" given.', get_defined_vars());
- 88: }
5
RecessObject::getClassDescriptor( 'Post' )
Arguments Passed In
Called From
- 93: * @param mixed $class
- 94: * @return string Primary key name ie: 'id'
- 95: */
- 96: static function primaryKeyName($class) {
- 97: return self::getClassDescriptor($class)->primaryKey;
- 98: }
- 99:
- 100: /**
- 101: * Get a relationship on a class or instance by the relationship's name.
- 102: *
4
Model::primaryKeyName( 'Post' )
Arguments Passed In
Type |
Value |
string |
'FirstAppApplication' |
string |
'Post' |
Called From
- 304: $replacements =
- 305: array( 'modelName' => $model,
- 306: 'modelNameLower' => Inflector::toCamelCaps($model),
- 307: 'fullyQualifiedModel' => $app->modelsPrefix . $model,
- 308: 'primaryKey' => Model::primaryKeyName($model),
- 309: 'viewsPrefix' => Inflector::toCamelCaps($model),
- 310: 'routesPrefix' => Inflector::toCamelCaps($model),);
- 311:
- 312: $this->messages[] = $this->tryGeneratingFile('RESTful ' . $model . ' Controller', $this->application->codeTemplatesDir . 'scaffolding/controllers/ResourceController.template.php', $controllersDir . $model . 'Controller.class.php', $replacements);
- 313:
2
ReflectionMethod->invokeArgs( 'FirstAppApplication', 'Post' )
Arguments Passed In
Type |
Value |
Request |
Request Member | Value | format | 'xhtml' | headers | Array[9] Key | Value | HOST | '127.0.0.1' | USER_AGENT | 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.5) Gecko/2008121623 Ubuntu/8.10 (intrepid) Firefox/3.0.5' | ACCEPT | 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' | ACCEPT_LANGUAGE | 'en-us,en;q=0.5' | ACCEPT_ENCODING | 'gzip,deflate' | ACCEPT_CHARSET | 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' | KEEP_ALIVE | '300' | CONNECTION | 'keep-alive' | REFERER | 'http://127.0.0.1/recess/recess/apps/app/FirstAppApplication/model/gen' |
| resource | '/recess/apps/FirstAppApplication/model/Post/scaffolding' | resourceParts | Array[6] Key | Value | 0 | 'recess' | 1 | 'apps' | 2 | 'FirstAppApplication' | 3 | 'model' | 4 | 'Post' | 5 | 'scaffolding' |
| method | 'GET' | get | Array[0] | post | Array[0] | put | Array[0] | cookies | Array[0] | meta | Meta Member | Value | app | RecessToolsApplication Member | Value | codeTemplatesDir | '/var/www/recess/recess/lib/recess/apps/tools/templates/' | name | 'Recess Tools' | controllersPrefix | 'recess.apps.tools.controllers.' | modelsPrefix | 'recess.apps.tools.models.' | viewsDir | '/var/www/recess/recess/lib/recess/apps/tools/views/' | routingPrefix | 'recess/' |
| controllerMethod | 'generateScaffolding' | controllerMethodArguments | Array[2] Key | Value | model | 'Post' | app | 'FirstAppApplication' |
| useAssociativeArguments | 1 |
| username | | password | |
|
Called From
- 167: } catch(RecessException $e) {
- 168: throw new RecessException('Error calling method "' . $methodName . '" in "' . get_class($this) . '". ' . $e->getMessage(), array());
- 169: }
- 170:
- 171: $response = $method->invokeArgs($this, $callArguments);
- 172: } else {
- 173: throw new RecessException('Error calling method "' . $methodName . '" in "' . get_class($this) . '". Method does not exist.', array());
- 174: }
- 175:
- 176: if(!$response instanceof Response) {
1
Controller->serve( RecessToolsAppsController, Array )
Arguments Passed In
Type |
Value |
Request |
Request Member | Value | format | 'xhtml' | headers | Array[9] Key | Value | HOST | '127.0.0.1' | USER_AGENT | 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.5) Gecko/2008121623 Ubuntu/8.10 (intrepid) Firefox/3.0.5' | ACCEPT | 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' | ACCEPT_LANGUAGE | 'en-us,en;q=0.5' | ACCEPT_ENCODING | 'gzip,deflate' | ACCEPT_CHARSET | 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' | KEEP_ALIVE | '300' | CONNECTION | 'keep-alive' | REFERER | 'http://127.0.0.1/recess/recess/apps/app/FirstAppApplication/model/gen' |
| resource | '/recess/apps/FirstAppApplication/model/Post/scaffolding' | resourceParts | Array[6] Key | Value | 0 | 'recess' | 1 | 'apps' | 2 | 'FirstAppApplication' | 3 | 'model' | 4 | 'Post' | 5 | 'scaffolding' |
| method | 'GET' | get | Array[0] | post | Array[0] | put | Array[0] | cookies | Array[0] | meta | Meta Member | Value | app | RecessToolsApplication Member | Value | codeTemplatesDir | '/var/www/recess/recess/lib/recess/apps/tools/templates/' | name | 'Recess Tools' | controllersPrefix | 'recess.apps.tools.controllers.' | modelsPrefix | 'recess.apps.tools.models.' | viewsDir | '/var/www/recess/recess/lib/recess/apps/tools/views/' | routingPrefix | 'recess/' |
| controllerMethod | 'generateScaffolding' | controllerMethodArguments | Array[2] Key | Value | model | 'Post' | app | 'FirstAppApplication' |
| useAssociativeArguments | 1 |
| username | | password | |
|
DefaultPolicy |
DefaultPolicy |
array |
Array[3] Key | Value | 0 | RecessToolsApplication Member | Value | codeTemplatesDir | '/var/www/recess/recess/lib/recess/apps/tools/templates/' | name | 'Recess Tools' | controllersPrefix | 'recess.apps.tools.controllers.' | modelsPrefix | 'recess.apps.tools.models.' | viewsDir | '/var/www/recess/recess/lib/recess/apps/tools/views/' | routingPrefix | 'recess/' |
| 1 | WelcomeApplication Member | Value | name | 'Welcome to Recess' | controllersPrefix | 'welcome.controllers.' | modelsPrefix | 'welcome.models.' | viewsDir | '/var/www/recess/apps/welcome/views/' | routingPrefix | '/' |
| 2 | FirstAppApplication Member | Value | name | 'My First Recess App' | controllersPrefix | 'firstApp.controllers.' | modelsPrefix | 'firstApp.models.' | viewsDir | '/var/www/recess/apps/firstApp/views/' | routingPrefix | 'firstApp/' |
|
|
RtNode |
RtNode |
array |
Array[0] |
Called From
- 37:
- 38: // $controller = $pluggedPolicy->getControllerFor($request, $routing);
- 39: $controller = $pluggedPolicy->getControllerFor($request, $apps, $routes);
- 40:
- 41: $response = $controller->serve($request);
- 42:
- 43: $view = $pluggedPolicy->getViewFor($response);
- 44:
- 45: ob_start();
- 46:
0
Recess::main( Request )
Called From
- 18:Library::import('recess.http.Environment');
- 19:Library::import('recess.Recess');
- 20:
- 21:// Entry point to Recess!
- 22:Recess::main(Environment::getRawRequest(), RecessConf::$policy, RecessConf::$applications, RecessConf::getRoutes(), RecessConf::$plugins);
- 23:
- 24:// RecessConf follows...
- 25:
- 26:abstract class RecessConf {
- 27: