- sfWebResponse.class.php
- class sfWebResponse extends sfResponse
- {
- const
- FIRST = 'first',
- MIDDLE = '',
- LAST = 'last',
- ALL = 'ALL',
- RAW = 'RAW';
- protected
- $cookies = array(),
- $statusCode = 200,
- $statusText = 'OK',
- $headerOnly = false,
- $headers = array(),
- $metas = array(),
- $httpMetas = array(),
- $positions = array('first', '', 'last'),
- $stylesheets = array(),
- $javascripts = array(),
- $slots = array();
- static protected $statusTexts = array(
- '100' => 'Continue',
- '101' => 'Switching Protocols',
- '200' => 'OK',
- '201' => 'Created',
- '202' => 'Accepted',
- '203' => 'Non-Authoritative Information',
- '204' => 'No Content',
- '205' => 'Reset Content',
- '206' => 'Partial Content',
- '300' => 'Multiple Choices',
- '301' => 'Moved Permanently',
- '302' => 'Found',
- '303' => 'See Other',
- '304' => 'Not Modified',
- '305' => 'Use Proxy',
- '306' => '(Unused)',
- '307' => 'Temporary Redirect',
- '400' => 'Bad Request',
- '401' => 'Unauthorized',
- '402' => 'Payment Required',
- '403' => 'Forbidden',
- '404' => 'Not Found',
- '405' => 'Method Not Allowed',
- '406' => 'Not Acceptable',
- '407' => 'Proxy Authentication Required',
- '408' => 'Request Timeout',
- '409' => 'Conflict',
- '410' => 'Gone',
- '411' => 'Length Required',
- '412' => 'Precondition Failed',
- '413' => 'Request Entity Too Large',
- '414' => 'Request-URI Too Long',
- '415' => 'Unsupported Media Type',
- '416' => 'Requested Range Not Satisfiable',
- '417' => 'Expectation Failed',
- '500' => 'Internal Server Error',
- '501' => 'Not Implemented',
- '502' => 'Bad Gateway',
- '503' => 'Service Unavailable',
- '504' => 'Gateway Timeout',
- '505' => 'HTTP Version Not Supported',
- );
-
- public function initialize(sfEventDispatcher $dispatcher, $options = array())
- {
- parent::initialize($dispatcher, $options);
- $this->javascripts = array_combine($this->positions, array_fill(0, count($this->positions), array()));
- $this->stylesheets = array_combine($this->positions, array_fill(0, count($this->positions), array()));
- if (!isset($this->options['charset']))
- {
- $this->options['charset'] = 'utf-8';
- }
- if (!isset($this->options['send_http_headers']))
- {
- $this->options['send_http_headers'] = true;
- }
- if (!isset($this->options['http_protocol']))
- {
- $this->options['http_protocol'] = 'HTTP/1.0';
- }
- $this->options['content_type'] = $this->fixContentType(isset($this->options['content_type']) ? $this->options['content_type'] : 'text/html');
- }
-
- public function setHeaderOnly($value = true)
- {
- $this->headerOnly = (boolean) $value;
- }
-
- public function isHeaderOnly()
- {
- return $this->headerOnly;
- }
-
- public function setCookie($name, $value, $expire = null, $path = '/', $domain = '', $secure = false, $httpOnly = false)
- {
- if ($expire !== null)
- {
- if (is_numeric($expire))
- {
- $expire = (int) $expire;
- }
- else
- {
- $expire = strtotime($expire);
- if ($expire === false || $expire == -1)
- {
- throw new sfException('Your expire parameter is not valid.');
- }
- }
- }
- $this->cookies[$name] = array(
- 'name' => $name,
- 'value' => $value,
- 'expire' => $expire,
- 'path' => $path,
- 'domain' => $domain,
- 'secure' => $secure ? true : false,
- 'httpOnly' => $httpOnly,
- );
- }
-
- public function setStatusCode($code, $name = null)
- {
- $this->statusCode = $code;
- $this->statusText = null !== $name ? $name : self::$statusTexts[$code];
- }
-
- public function getStatusText()
- {
- return $this->statusText;
- }
-
- public function getStatusCode()
- {
- return $this->statusCode;
- }
-
- public function setHttpHeader($name, $value, $replace = true)
- {
- $name = $this->normalizeHeaderName($name);
- if (null === $value)
- {
- unset($this->headers[$name]);
- return;
- }
- if ('Content-Type' == $name)
- {
- if ($replace || !$this->getHttpHeader('Content-Type', null))
- {
- $this->setContentType($value);
- }
- return;
- }
- if (!$replace)
- {
- $current = isset($this->headers[$name]) ? $this->headers[$name] : '';
- $value = ($current ? $current.', ' : '').$value;
- }
- $this->headers[$name] = $value;
- }
-
- public function getHttpHeader($name, $default = null)
- {
- $name = $this->normalizeHeaderName($name);
- return isset($this->headers[$name]) ? $this->headers[$name] : $default;
- }
-
- public function hasHttpHeader($name)
- {
- return array_key_exists($this->normalizeHeaderName($name), $this->headers);
- }
-
- public function setContentType($value)
- {
- $this->headers['Content-Type'] = $this->fixContentType($value);
- }
-
- public function getCharset()
- {
- return $this->options['charset'];
- }
-
- public function getContentType()
- {
- return $this->getHttpHeader('Content-Type', $this->options['content_type']);
- }
-
- public function sendHttpHeaders()
- {
- if (!$this->options['send_http_headers'])
- {
- return;
- }
-
- $status = $this->options['http_protocol'].' '.$this->statusCode.' '.$this->statusText;
- header($status);
- if (substr(php_sapi_name(), 0, 3) == 'cgi')
- {
-
-
- unset($this->headers['Status']);
- }
- if ($this->options['logging'])
- {
- $this->dispatcher->notify(new sfEvent($this, 'application.log', array(sprintf('Send status "%s"', $status))));
- }
-
- if (!$this->getHttpHeader('Content-Type'))
- {
- $this->setContentType($this->options['content_type']);
- }
- foreach ($this->headers as $name => $value)
- {
- header($name.': '.$value);
- if ($value != '' && $this->options['logging'])
- {
- $this->dispatcher->notify(new sfEvent($this, 'application.log', array(sprintf('Send header "%s: %s"', $name, $value))));
- }
- }
-
- foreach ($this->cookies as $cookie)
- {
- setrawcookie($cookie['name'], $cookie['value'], $cookie['expire'], $cookie['path'], $cookie['domain'], $cookie['secure'], $cookie['httpOnly']);
- if ($this->options['logging'])
- {
- $this->dispatcher->notify(new sfEvent($this, 'application.log', array(sprintf('Send cookie "%s": "%s"', $cookie['name'], $cookie['value']))));
- }
- }
-
- $this->options['send_http_headers'] = false;
- }
-
- public function sendContent()
- {
- if (!$this->headerOnly)
- {
- parent::sendContent();
- }
- }
-
- public function send()
- {
- $this->sendHttpHeaders();
- $this->sendContent();
- }
-
- protected function normalizeHeaderName($name)
- {
- return preg_replace('/\-(.)/e', "'-'.strtoupper('\\1')", strtr(ucfirst(strtolower($name)), '_', '-'));
- }
-
- static public function getDate($timestamp, $type = 'rfc1123')
- {
- $type = strtolower($type);
- if ($type == 'rfc1123')
- {
- return substr(gmdate('r', $timestamp), 0, -5).'GMT';
- }
- else if ($type == 'rfc1036')
- {
- return gmdate('l, d-M-y H:i:s ', $timestamp).'GMT';
- }
- else if ($type == 'asctime')
- {
- return gmdate('D M j H:i:s', $timestamp);
- }
- else
- {
- throw new InvalidArgumentException('The second getDate() method parameter must be one of: rfc1123, rfc1036 or asctime.');
- }
- }
-
- public function addVaryHttpHeader($header)
- {
- $vary = $this->getHttpHeader('Vary');
- $currentHeaders = array();
- if ($vary)
- {
- $currentHeaders = preg_split('/\s*,\s*/', $vary);
- }
- $header = $this->normalizeHeaderName($header);
- if (!in_array($header, $currentHeaders))
- {
- $currentHeaders[] = $header;
- $this->setHttpHeader('Vary', implode(', ', $currentHeaders));
- }
- }
-
- public function addCacheControlHttpHeader($name, $value = null)
- {
- $cacheControl = $this->getHttpHeader('Cache-Control');
- $currentHeaders = array();
- if ($cacheControl)
- {
- foreach (preg_split('/\s*,\s*/', $cacheControl) as $tmp)
- {
- $tmp = explode('=', $tmp);
- $currentHeaders[$tmp[0]] = isset($tmp[1]) ? $tmp[1] : null;
- }
- }
- $currentHeaders[strtr(strtolower($name), '_', '-')] = $value;
- $headers = array();
- foreach ($currentHeaders as $key => $value)
- {
- $headers[] = $key.(null !== $value ? '='.$value : '');
- }
- $this->setHttpHeader('Cache-Control', implode(', ', $headers));
- }
-
- public function getHttpMetas()
- {
- return $this->httpMetas;
- }
-
- public function addHttpMeta($key, $value, $replace = true)
- {
- $key = $this->normalizeHeaderName($key);
-
- $this->setHttpHeader($key, $value, $replace);
- if (null === $value)
- {
- unset($this->httpMetas[$key]);
- return;
- }
- if ('Content-Type' == $key)
- {
- $value = $this->getContentType();
- }
- elseif (!$replace)
- {
- $current = isset($this->httpMetas[$key]) ? $this->httpMetas[$key] : '';
- $value = ($current ? $current.', ' : '').$value;
- }
- $this->httpMetas[$key] = $value;
- }
-
- public function getMetas()
- {
- return $this->metas;
- }
-
- public function addMeta($key, $value, $replace = true, $escape = true)
- {
- $key = strtolower($key);
- if (null === $value)
- {
- unset($this->metas[$key]);
- return;
- }
-
-
- if ($escape)
- {
- $value = htmlspecialchars($value, ENT_QUOTES, $this->options['charset']);
- }
- $current = isset($this->metas[$key]) ? $this->metas[$key] : null;
- if ($replace || !$current)
- {
- $this->metas[$key] = $value;
- }
- }
-
- public function getTitle()
- {
- return isset($this->metas['title']) ? $this->metas['title'] : '';
- }
-
- public function setTitle($title, $escape = true)
- {
- $this->addMeta('title', $title, true, $escape);
- }
-
- public function getPositions()
- {
- return $this->positions;
- }
-
- public function getStylesheets($position = self::ALL)
- {
- if (self::ALL === $position)
- {
- $stylesheets = array();
- foreach ($this->getPositions() as $position)
- {
- foreach ($this->stylesheets[$position] as $file => $options)
- {
- $stylesheets[$file] = $options;
- }
- }
- return $stylesheets;
- }
- else if (self::RAW === $position)
- {
- return $this->stylesheets;
- }
- $this->validatePosition($position);
- return $this->stylesheets[$position];
- }
-
- public function addStylesheet($file, $position = '', $options = array())
- {
- $this->validatePosition($position);
- $this->stylesheets[$position][$file] = $options;
- }
-
- public function removeStylesheet($file)
- {
- foreach ($this->getPositions() as $position)
- {
- unset($this->stylesheets[$position][$file]);
- }
- }
-
- public function getJavascripts($position = self::ALL)
- {
- if (self::ALL === $position)
- {
- $javascripts = array();
- foreach ($this->getPositions() as $position)
- {
- foreach ($this->javascripts[$position] as $file => $options)
- {
- $javascripts[$file] = $options;
- }
- }
- return $javascripts;
- }
- else if (self::RAW === $position)
- {
- return $this->javascripts;
- }
- $this->validatePosition($position);
- return $this->javascripts[$position];
- }
-
- public function addJavascript($file, $position = '', $options = array())
- {
- $this->validatePosition($position);
- $this->javascripts[$position][$file] = $options;
- }
-
- public function removeJavascript($file)
- {
- foreach ($this->getPositions() as $position)
- {
- unset($this->javascripts[$position][$file]);
- }
- }
-
- public function getSlots()
- {
- return $this->slots;
- }
-
- public function setSlot($name, $content)
- {
- $this->slots[$name] = $content;
- }
-
- public function getCookies()
- {
- return $this->cookies;
- }
-
- public function getHttpHeaders()
- {
- return $this->headers;
- }
-
- public function clearHttpHeaders()
- {
- $this->headers = array();
- }
-
- public function copyProperties(sfWebResponse $response)
- {
- $this->options = $response->getOptions();
- $this->headers = $response->getHttpHeaders();
- $this->metas = $response->getMetas();
- $this->httpMetas = $response->getHttpMetas();
- $this->stylesheets = $response->getStylesheets(self::RAW);
- $this->javascripts = $response->getJavascripts(self::RAW);
- $this->slots = $response->getSlots();
- }
-
- public function merge(sfWebResponse $response)
- {
- foreach ($this->getPositions() as $position)
- {
- $this->javascripts[$position] = array_merge($this->getJavascripts($position), $response->getJavascripts($position));
- $this->stylesheets[$position] = array_merge($this->getStylesheets($position), $response->getStylesheets($position));
- }
- $this->slots = array_merge($this->getSlots(), $response->getSlots());
- }
-
- public function serialize()
- {
- return serialize(array($this->content, $this->statusCode, $this->statusText, $this->options, $this->cookies, $this->headerOnly, $this->headers, $this->metas, $this->httpMetas, $this->stylesheets, $this->javascripts, $this->slots));
- }
-
- public function unserialize($serialized)
- {
- list($this->content, $this->statusCode, $this->statusText, $this->options, $this->cookies, $this->headerOnly, $this->headers, $this->metas, $this->httpMetas, $this->stylesheets, $this->javascripts, $this->slots) = unserialize($serialized);
- }
-
- protected function validatePosition($position)
- {
- if (!in_array($position, $this->positions, true))
- {
- throw new InvalidArgumentException(sprintf('The position "%s" does not exist (available positions: %s).', $position, implode(', ', $this->positions)));
- }
- }
-
- protected function fixContentType($contentType)
- {
-
- if (false === stripos($contentType, 'charset') && (0 === stripos($contentType, 'text/') || strlen($contentType) - 3 === strripos($contentType, 'xml')))
- {
- $contentType .= '; charset='.$this->options['charset'];
- }
-
- if (preg_match('/charset\s*=\s*(.+)\s*$/', $contentType, $match))
- {
- $this->options['charset'] = $match[1];
- }
- return $contentType;
- }
- }
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: sfWebResponse
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: [sfWebResponse, sfWebRequest, sfWebDebugPanelView, sfWebDebugPanelTimer, sfWebDebugPanelSymfonyVersion, sfWebDebugPanelMemory, sfWebDebugPanelLogs, sfWebDebugPanelConfig, sfWebDebugPanelCodeView, sfWebDebugPanelCache] }
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/sfWebResponse
PATH_TRANSLATED: 'redirect:/www/redotheoffice/codeview/web/index.php/sfWebResponse'
PHP_SELF: /index.php/sfCodeView/sfWebResponse
QUERY_STRING: ''
REMOTE_ADDR: 38.107.179.242
REMOTE_PORT: '41065'
REQUEST_METHOD: GET
REQUEST_TIME: 1337661575
REQUEST_URI: /index.php/sfCodeView/sfWebResponse
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: [sfWebRequest, sfWebDebugPanelView, sfWebDebugPanelTimer, sfWebDebugPanelSymfonyVersion, sfWebDebugPanelMemory, sfWebDebugPanelLogs, sfWebDebugPanelConfig, sfWebDebugPanelCodeView, sfWebDebugPanelCache, sfWebDebugPanel] } }
symfony/user/sfUser/authenticated: false
symfony/user/sfUser/credentials: { }
symfony/user/sfUser/culture: en
symfony/user/sfUser/lastRequest: 1337661546
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/sfWebResponse with parameters array ( 'module' => 'sfCodeView', 'action' => 'index', 'class' => 'sfWebResponse', '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 | 36.42 | 12 |
| Factories | 1 | 7.74 | 2 |
| Action "sfCodeView/index" | 1 | 0.54 | 0 |
| View "Success" for "sfCodeView/index" | 1 | 251.47 | 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