- sfWebRequest.class.php
- class sfWebRequest extends sfRequest
- {
- protected
- $languages = null,
- $charsets = null,
- $acceptableContentTypes = null,
- $pathInfoArray = null,
- $relativeUrlRoot = null,
- $getParameters = null,
- $postParameters = null,
- $requestParameters = null,
- $formats = array(),
- $format = null,
- $fixedFileArray = false;
-
- public function initialize(sfEventDispatcher $dispatcher, $parameters = array(), $attributes = array(), $options = array())
- {
- $options = array_merge(array(
- 'path_info_key' => 'PATH_INFO',
- 'path_info_array' => 'SERVER',
- 'default_format' => null,
- ), $options);
- parent::initialize($dispatcher, $parameters, $attributes, $options);
-
- $this->getParameters = get_magic_quotes_gpc() ? sfToolkit::stripslashesDeep($_GET) : $_GET;
- $this->parameterHolder->add($this->getParameters);
- $postParameters = $_POST;
- if (isset($_SERVER['REQUEST_METHOD']))
- {
- switch ($_SERVER['REQUEST_METHOD'])
- {
- case 'GET':
- $this->setMethod(self::GET);
- break;
- case 'POST':
- if (isset($_POST['sf_method']))
- {
- $this->setMethod(strtoupper($_POST['sf_method']));
- unset($postParameters['sf_method']);
- }
- elseif (isset($_GET['sf_method']))
- {
- $this->setMethod(strtoupper($_GET['sf_method']));
- unset($_GET['sf_method']);
- }
- else
- {
- $this->setMethod(self::POST);
- }
- $this->parameterHolder->remove('sf_method');
- break;
- case 'PUT':
- $this->setMethod(self::PUT);
- if ('application/x-www-form-urlencoded' === $this->getContentType())
- {
- parse_str($this->getContent(), $postParameters);
- }
- break;
- case 'DELETE':
- $this->setMethod(self::DELETE);
- if ('application/x-www-form-urlencoded' === $this->getContentType())
- {
- parse_str($this->getContent(), $postParameters);
- }
- break;
- case 'HEAD':
- $this->setMethod(self::HEAD);
- break;
- default:
- $this->setMethod(self::GET);
- }
- }
- else
- {
-
- $this->setMethod(self::GET);
- }
- $this->postParameters = get_magic_quotes_gpc() ? sfToolkit::stripslashesDeep($postParameters) : $postParameters;
- $this->parameterHolder->add($this->postParameters);
- if (isset($this->options['formats']))
- {
- foreach ($this->options['formats'] as $format => $mimeTypes)
- {
- $this->setFormat($format, $mimeTypes);
- }
- }
-
- $this->requestParameters = $this->parseRequestParameters();
- $this->parameterHolder->add($this->requestParameters);
- $this->fixParameters();
- }
-
- public function getContentType($trim = true)
- {
- $contentType = $this->getHttpHeader('Content-Type', null);
- if ($trim && false !== $pos = strpos($contentType, ';'))
- {
- $contentType = substr($contentType, 0, $pos);
- }
- return $contentType;
- }
-
- public function getUri()
- {
- $pathArray = $this->getPathInfoArray();
-
- if ('HTTP_X_REWRITE_URL' == $this->options['path_info_key'])
- {
- $uri = isset($pathArray['HTTP_X_REWRITE_URL']) ? $pathArray['HTTP_X_REWRITE_URL'] : '';
- }
- else
- {
- $uri = isset($pathArray['REQUEST_URI']) ? $pathArray['REQUEST_URI'] : '';
- }
- return $this->isAbsUri() ? $uri : $this->getUriPrefix().$uri;
- }
-
- public function isAbsUri()
- {
- $pathArray = $this->getPathInfoArray();
- return isset($pathArray['REQUEST_URI']) ? preg_match('/^http/', $pathArray['REQUEST_URI']) : false;
- }
-
- public function getUriPrefix()
- {
- $pathArray = $this->getPathInfoArray();
- if ($this->isSecure())
- {
- $standardPort = '443';
- $protocol = 'https';
- }
- else
- {
- $standardPort = '80';
- $protocol = 'http';
- }
- $host = explode(':', $this->getHost());
- if (count($host) == 1)
- {
- $host[] = isset($pathArray['SERVER_PORT']) ? $pathArray['SERVER_PORT'] : '';
- }
- if ($host[1] == $standardPort || empty($host[1]))
- {
- unset($host[1]);
- }
- return $protocol.'://'.implode(':', $host);
- }
-
- public function getPathInfo()
- {
- $pathInfo = '';
- $pathArray = $this->getPathInfoArray();
-
- $sf_path_info_key = $this->options['path_info_key'];
- if (!isset($pathArray[$sf_path_info_key]) || !$pathArray[$sf_path_info_key])
- {
- if (isset($pathArray['REQUEST_URI']))
- {
- $script_name = $this->getScriptName();
- $uri_prefix = $this->isAbsUri() ? $this->getUriPrefix() : '';
- $pathInfo = preg_replace('/^'.preg_quote($uri_prefix, '/').'/','',$pathArray['REQUEST_URI']);
- $pathInfo = preg_replace('/^'.preg_quote($script_name, '/').'/', '', $pathInfo);
- $prefix_name = preg_replace('#/[^/]+$#', '', $script_name);
- $pathInfo = preg_replace('/^'.preg_quote($prefix_name, '/').'/', '', $pathInfo);
- $pathInfo = preg_replace('/\??'.preg_quote($pathArray['QUERY_STRING'], '/').'$/', '', $pathInfo);
- }
- }
- else
- {
- $pathInfo = $pathArray[$sf_path_info_key];
- if ($relativeUrlRoot = $this->getRelativeUrlRoot())
- {
- $pathInfo = preg_replace('/^'.str_replace('/', '\\/', $relativeUrlRoot).'\//', '', $pathInfo);
- }
- }
-
- if (isset($_SERVER['SERVER_SOFTWARE']) && false !== stripos($_SERVER['SERVER_SOFTWARE'], 'iis') && $pos = stripos($pathInfo, '.php'))
- {
- $pathInfo = substr($pathInfo, $pos + 4);
- }
- if (!$pathInfo)
- {
- $pathInfo = '/';
- }
- return $pathInfo;
- }
- public function getPathInfoPrefix()
- {
- $prefix = $this->getRelativeUrlRoot();
- if (!isset($this->options['no_script_name']) || !$this->options['no_script_name'])
- {
- $scriptName = $this->getScriptName();
- $prefix = null === $prefix ? $scriptName : $prefix.'/'.basename($scriptName);
- }
- return $prefix;
- }
- public function getGetParameters()
- {
- return $this->getParameters;
- }
- public function getPostParameters()
- {
- return $this->postParameters;
- }
- public function getRequestParameters()
- {
- return $this->requestParameters;
- }
- public function addRequestParameters($parameters)
- {
- $this->requestParameters = array_merge($this->requestParameters, $parameters);
- $this->getParameterHolder()->add($parameters);
- $this->fixParameters();
- }
-
- public function getReferer()
- {
- $pathArray = $this->getPathInfoArray();
- return isset($pathArray['HTTP_REFERER']) ? $pathArray['HTTP_REFERER'] : '';
- }
-
- public function getHost()
- {
- $pathArray = $this->getPathInfoArray();
- return isset($pathArray['HTTP_X_FORWARDED_HOST']) ? $pathArray['HTTP_X_FORWARDED_HOST'] : (isset($pathArray['HTTP_HOST']) ? $pathArray['HTTP_HOST'] : '');
- }
-
- public function getScriptName()
- {
- $pathArray = $this->getPathInfoArray();
- return isset($pathArray['SCRIPT_NAME']) ? $pathArray['SCRIPT_NAME'] : (isset($pathArray['ORIG_SCRIPT_NAME']) ? $pathArray['ORIG_SCRIPT_NAME'] : '');
- }
-
- public function isMethod($method)
- {
- return strtoupper($method) == $this->getMethod();
- }
-
- public function getPreferredCulture(array $cultures = null)
- {
- $preferredCultures = $this->getLanguages();
- if (null === $cultures)
- {
- return isset($preferredCultures[0]) ? $preferredCultures[0] : null;
- }
- if (!$preferredCultures)
- {
- return $cultures[0];
- }
- $preferredCultures = array_values(array_intersect($preferredCultures, $cultures));
- return isset($preferredCultures[0]) ? $preferredCultures[0] : $cultures[0];
- }
-
- public function getLanguages()
- {
- if ($this->languages)
- {
- return $this->languages;
- }
- if (!isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
- {
- return array();
- }
- $languages = $this->splitHttpAcceptHeader($_SERVER['HTTP_ACCEPT_LANGUAGE']);
- foreach ($languages as $lang)
- {
- if (strstr($lang, '-'))
- {
- $codes = explode('-', $lang);
- if ($codes[0] == 'i')
- {
-
-
-
- if (count($codes) > 1)
- {
- $lang = $codes[1];
- }
- }
- else
- {
- for ($i = 0, $max = count($codes); $i < $max; $i++)
- {
- if ($i == 0)
- {
- $lang = strtolower($codes[0]);
- }
- else
- {
- $lang .= '_'.strtoupper($codes[$i]);
- }
- }
- }
- }
- $this->languages[] = $lang;
- }
- return $this->languages;
- }
-
- public function getCharsets()
- {
- if ($this->charsets)
- {
- return $this->charsets;
- }
- if (!isset($_SERVER['HTTP_ACCEPT_CHARSET']))
- {
- return array();
- }
- $this->charsets = $this->splitHttpAcceptHeader($_SERVER['HTTP_ACCEPT_CHARSET']);
- return $this->charsets;
- }
-
- public function getAcceptableContentTypes()
- {
- if ($this->acceptableContentTypes)
- {
- return $this->acceptableContentTypes;
- }
- if (!isset($_SERVER['HTTP_ACCEPT']))
- {
- return array();
- }
- $this->acceptableContentTypes = $this->splitHttpAcceptHeader($_SERVER['HTTP_ACCEPT']);
- return $this->acceptableContentTypes;
- }
-
- public function isXmlHttpRequest()
- {
- return ($this->getHttpHeader('X_REQUESTED_WITH') == 'XMLHttpRequest');
- }
- public function getHttpHeader($name, $prefix = 'http')
- {
- if ($prefix)
- {
- $prefix = strtoupper($prefix).'_';
- }
- $name = $prefix.strtoupper(strtr($name, '-', '_'));
- $pathArray = $this->getPathInfoArray();
- return isset($pathArray[$name]) ? sfToolkit::stripslashesDeep($pathArray[$name]) : null;
- }
-
- public function getCookie($name, $defaultValue = null)
- {
- $retval = $defaultValue;
- if (isset($_COOKIE[$name]))
- {
- $retval = get_magic_quotes_gpc() ? sfToolkit::stripslashesDeep($_COOKIE[$name]) : $_COOKIE[$name];
- }
- return $retval;
- }
-
- public function isSecure()
- {
- $pathArray = $this->getPathInfoArray();
- return (
- (isset($pathArray['HTTPS']) && (strtolower($pathArray['HTTPS']) == 'on' || $pathArray['HTTPS'] == 1))
- ||
- (isset($pathArray['HTTP_SSL_HTTPS']) && (strtolower($pathArray['HTTP_SSL_HTTPS']) == 'on' || $pathArray['HTTP_SSL_HTTPS'] == 1))
- ||
- (isset($pathArray['HTTP_X_FORWARDED_PROTO']) && strtolower($pathArray['HTTP_X_FORWARDED_PROTO']) == 'https')
- );
- }
-
- public function getRelativeUrlRoot()
- {
- if (null === $this->relativeUrlRoot)
- {
- if (!isset($this->options['relative_url_root']))
- {
- $this->relativeUrlRoot = preg_replace('#/[^/]+\.php5?$#', '', $this->getScriptName());
- }
- else
- {
- $this->relativeUrlRoot = $this->options['relative_url_root'];
- }
- }
- return $this->relativeUrlRoot;
- }
-
- public function setRelativeUrlRoot($value)
- {
- $this->relativeUrlRoot = $value;
- }
-
- public function splitHttpAcceptHeader($header)
- {
- $values = array();
- foreach (array_filter(explode(',', $header)) as $value)
- {
-
- if ($pos = strpos($value, ';'))
- {
- $q = (float) trim(substr($value, $pos + 3));
- $value = trim(substr($value, 0, $pos));
- }
- else
- {
- $q = 1;
- }
- $values[$value] = $q;
- }
- arsort($values);
- return array_keys($values);
- }
-
- public function getPathInfoArray()
- {
- if (!$this->pathInfoArray)
- {
-
- switch ($this->options['path_info_array'])
- {
- case 'SERVER':
- $this->pathInfoArray =& $_SERVER;
- break;
- case 'ENV':
- default:
- $this->pathInfoArray =& $_ENV;
- }
- }
- return $this->pathInfoArray;
- }
-
- public function getMimeType($format)
- {
- return isset($this->formats[$format]) ? $this->formats[$format][0] : null;
- }
-
- public function getFormat($mimeType)
- {
- foreach ($this->formats as $format => $mimeTypes)
- {
- if (in_array($mimeType, $mimeTypes))
- {
- return $format;
- }
- }
- return null;
- }
-
- public function setFormat($format, $mimeTypes)
- {
- $this->formats[$format] = is_array($mimeTypes) ? $mimeTypes : array($mimeTypes);
- }
-
- public function setRequestFormat($format)
- {
- $this->format = $format;
- }
-
- public function getRequestFormat()
- {
- if (null === $this->format)
- {
- $this->setRequestFormat($this->getParameter('sf_format', $this->options['default_format']));
- }
- return $this->format;
- }
-
- public function getFiles($key = null)
- {
- if (false === $this->fixedFileArray)
- {
- $this->fixedFileArray = self::convertFileInformation($_FILES);
- }
- return null === $key ? $this->fixedFileArray : (isset($this->fixedFileArray[$key]) ? $this->fixedFileArray[$key] : array());
- }
-
- static public function convertFileInformation(array $taintedFiles)
- {
- $files = array();
- foreach ($taintedFiles as $key => $data)
- {
- $files[$key] = self::fixPhpFilesArray($data);
- }
- return $files;
- }
- static protected function fixPhpFilesArray($data)
- {
- $fileKeys = array('error', 'name', 'size', 'tmp_name', 'type');
- $keys = array_keys($data);
- sort($keys);
- if ($fileKeys != $keys || !isset($data['name']) || !is_array($data['name']))
- {
- return $data;
- }
- $files = $data;
- foreach ($fileKeys as $k)
- {
- unset($files[$k]);
- }
- foreach (array_keys($data['name']) as $key)
- {
- $files[$key] = self::fixPhpFilesArray(array(
- 'error' => $data['error'][$key],
- 'name' => $data['name'][$key],
- 'type' => $data['type'][$key],
- 'tmp_name' => $data['tmp_name'][$key],
- 'size' => $data['size'][$key],
- ));
- }
- return $files;
- }
-
- public function getGetParameter($name, $default = null)
- {
- if (isset($this->getParameters[$name]))
- {
- return $this->getParameters[$name];
- }
- else
- {
- return sfToolkit::getArrayValueForPath($this->getParameters, $name, $default);
- }
- }
-
- public function getPostParameter($name, $default = null)
- {
- if (isset($this->postParameters[$name]))
- {
- return $this->postParameters[$name];
- }
- else
- {
- return sfToolkit::getArrayValueForPath($this->postParameters, $name, $default);
- }
- }
-
- public function getUrlParameter($name, $default = null)
- {
- if (isset($this->requestParameters[$name]))
- {
- return $this->requestParameters[$name];
- }
- else
- {
- return sfToolkit::getArrayValueForPath($this->requestParameters, $name, $default);
- }
- }
-
- public function getRemoteAddress()
- {
- $pathInfo = $this->getPathInfoArray();
- return $pathInfo['REMOTE_ADDR'];
- }
-
- public function getForwardedFor()
- {
- $pathInfo = $this->getPathInfoArray();
- if (empty($pathInfo['HTTP_X_FORWARDED_FOR']))
- {
- return null;
- }
- return explode(', ', $pathInfo['HTTP_X_FORWARDED_FOR']);
- }
- public function checkCSRFProtection()
- {
- $form = new BaseForm();
- $form->bind($form->isCSRFProtected() ? array($form->getCSRFFieldName() => $this->getParameter($form->getCSRFFieldName())) : array());
- if (!$form->isValid())
- {
- throw $form->getErrorSchema();
- }
- }
-
- protected function parseRequestParameters()
- {
- return $this->dispatcher->filter(new sfEvent($this, 'request.filter_parameters', $this->getRequestContext()), array())->getReturnValue();
- }
-
- public function getRequestContext()
- {
- return array(
- 'path_info' => $this->getPathInfo(),
- 'prefix' => $this->getPathInfoPrefix(),
- 'method' => $this->getMethod(),
- 'format' => $this->getRequestFormat(),
- 'host' => $this->getHost(),
- 'is_secure' => $this->isSecure(),
- 'request_uri' => $this->getUri(),
- );
- }
- protected function fixParameters()
- {
-
- foreach ($this->parameterHolder->getAll() as $key => $value)
- {
- if (0 === stripos($key, '_sf_'))
- {
- $this->parameterHolder->remove($key);
- $this->setAttribute(substr($key, 1), $value);
- }
- }
- }
- }
Configuration
- debug
- xdebug
- logging
- cache
- compression
- tokenizer
- eaccelerator
- apc
- xcache
Request 
options:
path_info_key: PATH_INFO
path_info_array: SERVER
default_format: null
logging: '1'
relative_url_root: null
formats: { txt: text/plain, js: [application/javascript, application/x-javascript, text/javascript], css: text/css, json: [application/json, application/x-json], xml: [text/xml, application/xml, application/x-xml], rdf: application/rdf+xml, atom: application/atom+xml }
no_script_name: false
parameterHolder:
action: index
class: sfWebRequest
method: ''
module: sfCodeView
attributeHolder:
sf_route: 'sfRoute Object()'
Response 
status:
code: 200
text: OK
options:
http_protocol: HTTP/1.1
logging: '1'
charset: utf-8
send_http_headers: false
content_type: 'text/html; charset=utf-8'
cookies: { }
httpHeaders:
Content-Type: 'text/html; charset=utf-8'
javascripts:
'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js': { }
/sfCodeViewPlugin/js/sfCodeViewPlugin.js: { }
stylesheets:
main.css: { }
/sfCodeViewPlugin/css/sfCodeViewPlugin.css: { }
metas: { }
httpMetas:
Content-Type: 'text/html; charset=utf-8'
User 
options:
auto_shutdown: false
culture: null
default_culture: en
use_flash: true
logging: '1'
timeout: 1800
attributeHolder:
symfony/user/sfUser/attributes: { history: [sfWebRequest, sfWebDebugPanelView, sfWebDebugPanelTimer, sfWebDebugPanelSymfonyVersion, sfWebDebugPanelMemory, sfWebDebugPanelLogs, sfWebDebugPanelConfig, sfWebDebugPanelCodeView, sfWebDebugPanelCache, sfWebDebugPanel] }
culture: en
Settings 
app_sfCodeViewPlugin_javascripts:
- /sfCodeViewPlugin/js/sfCodeViewPlugin.js
app_sfCodeViewPlugin_stylesheets:
- /sfCodeViewPlugin/css/sfCodeViewPlugin.css
mod_sfcodeview_enabled: true
mod_sfcodeview_view_class: sfPHP
sf_admin_module_web_dir: /sfDoctrinePlugin
sf_admin_web_dir: /sf/sf_admin
sf_app: frontend
sf_app_base_cache_dir: /www/redotheoffice/codeview/cache/frontend
sf_app_cache_dir: /www/redotheoffice/codeview/cache/frontend/dev
sf_app_config_dir: /www/redotheoffice/codeview/apps/frontend/config
sf_app_dir: /www/redotheoffice/codeview/apps/frontend
sf_app_i18n_dir: /www/redotheoffice/codeview/apps/frontend/i18n
sf_app_lib_dir: /www/redotheoffice/codeview/apps/frontend/lib
sf_app_module_dir: /www/redotheoffice/codeview/apps/frontend/modules
sf_app_template_dir: /www/redotheoffice/codeview/apps/frontend/templates
sf_apps_dir: /www/redotheoffice/codeview/apps
sf_cache: false
sf_cache_dir: /www/redotheoffice/codeview/cache
sf_charset: utf-8
sf_check_lock: false
sf_compressed: false
sf_config_cache_dir: /www/redotheoffice/codeview/cache/frontend/dev/config
sf_config_dir: /www/redotheoffice/codeview/config
sf_csrf_secret: 220ab365e581d678efc07c41371dbc49a1fdcec3
sf_data_dir: /www/redotheoffice/codeview/data
sf_debug: true
sf_default_culture: en
sf_enabled_modules:
- default
- sfCodeView
sf_environment: dev
sf_error_404_action: error404
sf_error_404_module: default
sf_error_reporting: 8191
sf_escaping_method: ESC_SPECIALCHARS
sf_escaping_strategy: true
sf_etag: false
sf_file_link_format: null
sf_i18n: false
sf_i18n_cache_dir: /www/redotheoffice/codeview/cache/frontend/dev/i18n
sf_lib_dir: /www/redotheoffice/codeview/lib
sf_log_dir: /www/redotheoffice/codeview/log
sf_logging_enabled: true
sf_login_action: login
sf_login_module: default
sf_module_cache_dir: /www/redotheoffice/codeview/cache/frontend/dev/modules
sf_module_disabled_action: disabled
sf_module_disabled_module: default
sf_no_script_name: false
sf_orm: doctrine
sf_plugins_dir: /www/redotheoffice/codeview/plugins
sf_root_dir: /www/redotheoffice/codeview
sf_secure_action: secure
sf_secure_module: default
sf_standard_helpers:
- Partial
- Cache
sf_symfony_lib_dir: /www/redotheoffice/lib/symfony/1.4/lib
sf_template_cache_dir: /www/redotheoffice/codeview/cache/frontend/dev/template
sf_test_cache_dir: /www/redotheoffice/codeview/cache/frontend/dev/test
sf_test_dir: /www/redotheoffice/codeview/test
sf_upload_dir: /www/redotheoffice/codeview/web/uploads
sf_use_database: true
sf_web_debug: true
sf_web_debug_web_dir: /sf/sf_web_debug
sf_web_dir: /www/redotheoffice/codeview/web
symfony.asset.javascripts_included: true
symfony.asset.stylesheets_included: true
Globals 
cookie:
symfony: 02h64ddlgmn2hkmgs38ek09ah1
env: { }
files: { }
get: { }
post: { }
server:
DOCUMENT_ROOT: /Library/WebServer/Documents
GATEWAY_INTERFACE: CGI/1.1
HTTP_ACCEPT: 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'
HTTP_ACCEPT_CHARSET: 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
HTTP_ACCEPT_ENCODING: gzip
HTTP_ACCEPT_LANGUAGE: 'en-us,en;q=0.5'
HTTP_CACHE_CONTROL: no-cache
HTTP_CONNECTION: close
HTTP_COOKIE: symfony=02h64ddlgmn2hkmgs38ek09ah1
HTTP_HOST: codeview.redotheoffice.com
HTTP_PRAGMA: no-cache
HTTP_USER_AGENT: 'CCBot/1.0 (+http://www.commoncrawl.org/bot.html)'
HTTP_X_CC_ID: ccc04-02
PATH: '/usr/bin:/bin:/usr/sbin:/sbin'
PATH_INFO: /sfCodeView/sfWebRequest
PATH_TRANSLATED: 'redirect:/www/redotheoffice/codeview/web/index.php/sfWebRequest'
PHP_SELF: /index.php/sfCodeView/sfWebRequest
QUERY_STRING: ''
REMOTE_ADDR: 38.107.179.241
REMOTE_PORT: '60176'
REQUEST_METHOD: GET
REQUEST_TIME: 1337661546
REQUEST_URI: /index.php/sfCodeView/sfWebRequest
SCRIPT_FILENAME: /www/redotheoffice/codeview/web/index.php
SCRIPT_NAME: /index.php
SERVER_ADDR: 192.168.0.108
SERVER_ADMIN: webmaster@weett.nl
SERVER_NAME: codeview.redotheoffice.com
SERVER_PORT: '80'
SERVER_PROTOCOL: HTTP/1.1
SERVER_SIGNATURE: ''
SERVER_SOFTWARE: 'Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 PHP/5.3.6'
session:
symfony/user/sfUser/attributes: { symfony/user/sfUser/attributes: { history: [sfWebDebugPanelView, sfWebDebugPanelTimer, sfWebDebugPanelSymfonyVersion, sfWebDebugPanelMemory, sfWebDebugPanelLogs, sfWebDebugPanelConfig, sfWebDebugPanelCodeView, sfWebDebugPanelCache, sfWebDebugPanel, sfWebDebugLogger] } }
symfony/user/sfUser/authenticated: false
symfony/user/sfUser/credentials: { }
symfony/user/sfUser/culture: en
symfony/user/sfUser/lastRequest: 1337661520
Php 
php: 5.3.6
os: 'Darwin Mac-mini-van-Sjoerd-de-Jong.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386'
extensions:
54: apache2handler
33: 'apc (3.1.7)'
8: bcmath
9: bz2
10: calendar
0: 'Core (5.3.6)'
11: ctype
56: curl
1: 'date (5.3.6)'
12: 'dom (20031129)'
2: ereg
42: 'exif (1.4 $Id: exif.c 308362 2011-02-15 14:02:26Z pajoye $)'
14: 'fileinfo (1.0.5-dev)'
15: 'filter (0.11.0)'
16: ftp
17: gd
18: gettext
13: 'hash (1.0)'
20: iconv
36: imap
57: 'intl (1.1.0)'
22: 'json (1.2.1)'
23: ldap
3: libxml
24: mbstring
58: mcrypt
59: 'memcache (3.0.4)'
60: 'memcached (1.0.1)'
71: mhash
61: 'mongo (1.1.4)'
62: mssql
29: 'mysql (1.0)'
27: 'mysqli (0.1)'
26: 'mysqlnd (mysqlnd 5.0.8-dev - 20102224 - $Revision: 308673 $)'
63: 'OAuth (1.0-dev)'
28: 'odbc (1.0)'
4: openssl
5: pcre
30: 'PDO (1.0.4dev)'
64: 'pdo_dblib (1.0.1)'
31: 'pdo_mysql (1.0.2)'
65: 'pdo_pgsql (1.0.2)'
32: 'pdo_sqlite (1.0.1)'
66: pgsql
55: 'Phar (2.0.1)'
34: posix
35: 'Reflection ($Revision: 307971 $)'
21: session
37: shmop
38: 'SimpleXML (0.1)'
39: soap
40: sockets
67: 'solr (0.9.11)'
19: 'SPL (0.2)'
41: 'SQLite (2.0-dev)'
6: 'sqlite3 (0.7-dev)'
25: 'standard (5.3.6)'
43: sysvmsg
44: sysvsem
45: sysvshm
46: 'tidy (2.0)'
47: 'tokenizer (0.1)'
68: 'uploadprogress (1.0.1)'
48: wddx
72: 'xdebug (2.2.0-dev)'
69: 'xhprof (0.9.2)'
49: xml
50: 'xmlreader (0.1)'
51: 'xmlrpc (0.51)'
52: 'xmlwriter (0.1)'
70: 'xsl (0.1)'
53: 'zip (1.9.1)'
7: 'zlib (1.1)'
Symfony 
version: 1.4.2-DEV
path: /www/redotheoffice/lib/symfony/1.4/lib
View Layer
Template: sfCodeView … indexSuccess.php 
Parameters:
$class (string)
$method (NULL)
$viewer (sfCodeViewer)
$history (array)
Logs
| # |
type |
message |
| 1 | sfPatternRouting | Match route "sfCodeView" (/sfCodeView/:class/:method) for /sfCodeView/sfWebRequest with parameters array ( 'module' => 'sfCodeView', 'action' => 'index', 'class' => 'sfWebRequest', 'method' => '',) |
| 2 | sfFilterChain | Executing filter "sfRenderingFilter" |
| 3 | sfFilterChain | Executing filter "sfExecutionFilter" |
| 4 | sfCodeViewActions | Call "sfCodeViewActions->executeIndex()" |
| 5 | sfPHPView | Render "sf_root_dir/plugins/sfCodeViewPlugin/modules/sfCodeView/templates/indexSuccess.php" |
| 6 | sfPHPView | Decorate content with "sf_app_dir/templates/layout.php" |
| 7 | sfPHPView | Render "sf_app_dir/templates/layout.php" |
| 8 | sfWebResponse | Send status "HTTP/1.1 200 OK" |
| 9 | sfWebResponse | Send header "Content-Type: text/html; charset=utf-8" |
Timers
| type | calls | time (ms) | time (%) |
|---|
| Configuration | 11 | 35.61 | 11 |
| Factories | 1 | 6.63 | 2 |
| Action "sfCodeView/index" | 1 | 0.81 | 0 |
| View "Success" for "sfCodeView/index" | 1 | 269.80 | 85 |
View php class code
Enter the name of a class you want to view in the toolbar and hit 'enter' to view its code, or click one of the available classes below.
User classes
- apps/frontend/config
- apps/frontend/lib
- config
- lib/form
- plugins/sfCodeViewPlugin/config
- plugins/sfCodeViewPlugin/lib
- plugins/sfCodeViewPlugin/modules/sfCodeView/actions
- plugins/sfCodeViewPlugin/modules/sfCodeView/lib
Symfony classes
- action
- addon
- autoload
- cache
- command
- config
- controller
- database
- debug
- escaper
- exception
- filter
- form/addon
- form
- generator
- i18n/Gettext
- i18n/extract
- i18n
- log
- mailer
- plugin
- request
- response
- routing
- storage
- task/app
- task/cache
- task/configure
- task/generator
- task/help
- task/i18n
- task/log
- task/plugin
- task/project
- task/project/validation
- task
- task/symfony
- task/test
- test
- user
- util
- validator/i18n
- validator
- view
- widget/i18n
- widget