- sfWebDebug.class.php
- class sfWebDebug
- {
- protected
- $dispatcher = null,
- $logger = null,
- $options = array(),
- $panels = array();
-
- public function __construct(sfEventDispatcher $dispatcher, sfVarLogger $logger, array $options = array())
- {
- $this->dispatcher = $dispatcher;
- $this->logger = $logger;
- $this->options = $options;
- if (!isset($this->options['image_root_path']))
- {
- $this->options['image_root_path'] = '';
- }
- if (!isset($this->options['request_parameters']))
- {
- $this->options['request_parameters'] = array();
- }
- $this->configure();
- $this->dispatcher->notify(new sfEvent($this, 'debug.web.load_panels'));
- }
-
- public function configure()
- {
- $this->setPanel('symfony_version', new sfWebDebugPanelSymfonyVersion($this));
- if (sfConfig::get('sf_debug') && sfConfig::get('sf_cache'))
- {
- $this->setPanel('cache', new sfWebDebugPanelCache($this));
- }
- if (sfConfig::get('sf_logging_enabled'))
- {
- $this->setPanel('config', new sfWebDebugPanelConfig($this));
- $this->setPanel('view', new sfWebDebugPanelView($this));
- }
- $this->setPanel('logs', new sfWebDebugPanelLogs($this));
- $this->setPanel('memory', new sfWebDebugPanelMemory($this));
- if (sfConfig::get('sf_debug'))
- {
- $this->setPanel('time', new sfWebDebugPanelTimer($this));
- }
- $this->setPanel('mailer', new sfWebDebugPanelMailer($this));
- }
-
- public function getLogger()
- {
- return $this->logger;
- }
-
- public function getEventDispatcher()
- {
- return $this->dispatcher;
- }
-
- public function getPanels()
- {
- return $this->panels;
- }
-
- public function setPanel($name, sfWebDebugPanel $panel)
- {
- $this->panels[$name] = $panel;
- }
-
- public function removePanel($name)
- {
- unset($this->panels[$name]);
- }
-
- public function getOption($name, $default = null)
- {
- return isset($this->options[$name]) ? $this->options[$name] : $default;
- }
-
- public function injectToolbar($content)
- {
- $content = str_ireplace('</head>', '<style type="text/css">'.str_replace(array("\r", "\n"), ' ', $this->getStylesheet()).'</style></head>', $content);
- $debug = $this->asHtml();
- $count = 0;
- $content = str_ireplace('</body>', '<script type="text/javascript">'.$this->getJavascript().'</script>'.$debug.'</body>', $content, $count);
- if (!$count)
- {
- $content .= $debug;
- }
- return $content;
- }
-
- public function asHtml()
- {
- $current = isset($this->options['request_parameters']['sfWebDebugPanel']) ? $this->options['request_parameters']['sfWebDebugPanel'] : null;
- $titles = array();
- $panels = array();
- foreach ($this->panels as $name => $panel)
- {
- if ($title = $panel->getTitle())
- {
- if (($content = $panel->getPanelContent()) || $panel->getTitleUrl())
- {
- $id = sprintf('sfWebDebug%sDetails', $name);
- $titles[] = sprintf('<li%s><a title="%s" href="%s"%s>%s</a></li>',
- $panel->getStatus() ? ' class="sfWebDebug'.ucfirst($this->getPriority($panel->getStatus())).'"' : '',
- $panel->getPanelTitle(),
- $panel->getTitleUrl() ? $panel->getTitleUrl() : '#',
- $panel->getTitleUrl() ? '' : ' onclick="sfWebDebugShowDetailsFor(\''.$id.'\'); return false;"',
- $title
- );
- $panels[] = sprintf('<div id="%s" class="sfWebDebugTop" style="display:%s"><h1>%s</h1>%s</div>',
- $id,
- $name == $current ? 'block' : 'none',
- $panel->getPanelTitle(),
- $content
- );
- }
- else
- {
- $titles[] = sprintf('<li>%s</li>', $title);
- }
- }
- }
- return '
- <div id="sfWebDebug">
- <div id="sfWebDebugBar">
- <a href="#" onclick="sfWebDebugToggleMenu(); return false;"><img src="'.$this->options['image_root_path'].'/sf.png" alt="Debug toolbar" /></a>
- <ul id="sfWebDebugDetails" class="sfWebDebugMenu">
- '.implode("\n", $titles).'
- <li class="last">
- <a href="#" onclick="document.getElementById(\'sfWebDebug\').style.display=\'none\'; return false;"><img src="'.$this->options['image_root_path'].'/close.png" alt="Close" /></a>
- </li>
- </ul>
- </div>
- '.implode("\n", $panels).'
- </div>
- ';
- }
-
- public function getPriority($value)
- {
- if ($value >= sfLogger::INFO)
- {
- return 'info';
- }
- else if ($value >= sfLogger::WARNING)
- {
- return 'warning';
- }
- else
- {
- return 'error';
- }
- }
-
- public function getJavascript()
- {
- return <<<EOF
- /* <![CDATA[ */
- function sfWebDebugGetElementsByClassName(strClass, strTag, objContElm)
- {
- // http://muffinresearch.co.uk/archives/2006/04/29/getelementsbyclassname-deluxe-edition/
- strTag = strTag || "*";
- objContElm = objContElm || document;
- var objColl = (strTag == '*' && document.all) ? document.all : objContElm.getElementsByTagName(strTag);
- var arr = new Array();
- var delim = strClass.indexOf('|') != -1 ? '|' : ' ';
- var arrClass = strClass.split(delim);
- var j = objColl.length;
- for (var i = 0; i < j; i++) {
- if(objColl[i].className == undefined) continue;
- var arrObjClass = objColl[i].className.split ? objColl[i].className.split(' ') : [];
- if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
- var c = 0;
- comparisonLoop:
- {
- var l = arrObjClass.length;
- for (var k = 0; k < l; k++) {
- var n = arrClass.length;
- for (var m = 0; m < n; m++) {
- if (arrClass[m] == arrObjClass[k]) c++;
- if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
- arr.push(objColl[i]);
- break comparisonLoop;
- }
- }
- }
- }
- }
- return arr;
- }
- function sfWebDebugToggleMenu()
- {
- var element = document.getElementById('sfWebDebugDetails');
- var cacheElements = sfWebDebugGetElementsByClassName('sfWebDebugCache');
- var mainCacheElements = sfWebDebugGetElementsByClassName('sfWebDebugActionCache');
- var panelElements = sfWebDebugGetElementsByClassName('sfWebDebugTop');
- if (element.style.display != 'none')
- {
- for (var i = 0; i < panelElements.length; ++i)
- {
- panelElements[i].style.display = 'none';
- }
- // hide all cache information
- for (var i = 0; i < cacheElements.length; ++i)
- {
- cacheElements[i].style.display = 'none';
- }
- for (var i = 0; i < mainCacheElements.length; ++i)
- {
- mainCacheElements[i].style.border = 'none';
- }
- }
- else
- {
- for (var i = 0; i < cacheElements.length; ++i)
- {
- cacheElements[i].style.display = '';
- }
- for (var i = 0; i < mainCacheElements.length; ++i)
- {
- mainCacheElements[i].style.border = '1px solid #f00';
- }
- }
- sfWebDebugToggle('sfWebDebugDetails');
- sfWebDebugToggle('sfWebDebugShowMenu');
- sfWebDebugToggle('sfWebDebugHideMenu');
- }
- function sfWebDebugShowDetailsFor(element)
- {
- if (typeof element == 'string')
- element = document.getElementById(element);
- var panelElements = sfWebDebugGetElementsByClassName('sfWebDebugTop');
- for (var i = 0; i < panelElements.length; ++i)
- {
- if (panelElements[i] != element)
- {
- panelElements[i].style.display = 'none';
- }
- }
- sfWebDebugToggle(element);
- }
- function sfWebDebugToggle(element)
- {
- if (typeof element == 'string')
- element = document.getElementById(element);
- if (element)
- element.style.display = element.style.display == 'none' ? '' : 'none';
- }
- function sfWebDebugToggleMessages(klass)
- {
- var elements = sfWebDebugGetElementsByClassName(klass);
- var x = elements.length;
- for (var i = 0; i < x; ++i)
- {
- sfWebDebugToggle(elements[i]);
- }
- }
- function sfWebDebugToggleAllLogLines(show, klass)
- {
- var elements = sfWebDebugGetElementsByClassName(klass);
- var x = elements.length;
- for (var i = 0; i < x; ++i)
- {
- elements[i].style.display = show ? '' : 'none';
- }
- }
- function sfWebDebugShowOnlyLogLines(type)
- {
- var types = new Array();
- types[0] = 'info';
- types[1] = 'warning';
- types[2] = 'error';
- for (klass in types)
- {
- var elements = sfWebDebugGetElementsByClassName('sfWebDebug' + types[klass].substring(0, 1).toUpperCase() + types[klass].substring(1, types[klass].length));
- var x = elements.length;
- for (var i = 0; i < x; ++i)
- {
- if ('tr' == elements[i].tagName.toLowerCase())
- {
- elements[i].style.display = (type == types[klass]) ? '' : 'none';
- }
- }
- }
- }
- /* ]]> */
- EOF;
- }
-
- public function getStylesheet()
- {
- return <<<EOF
- #sfWebDebug
- {
- padding: 0;
- margin: 0;
- font-family: Arial, sans-serif;
- font-size: 12px;
- color: #333;
- text-align: left;
- line-height: 12px;
- }
- #sfWebDebug a, #sfWebDebug a:hover
- {
- text-decoration: none;
- border: none;
- background-color: transparent;
- color: #000;
- }
- #sfWebDebug img
- {
- float: none;
- margin: 0;
- border: 0;
- display: inline;
- }
- #sfWebDebugBar
- {
- position: absolute;
- margin: 0;
- padding: 1px 0;
- right: 0px;
- top: 0px;
- opacity: 0.80;
- filter: alpha(opacity:80);
- z-index: 10000;
- white-space: nowrap;
- background-color: #ddd;
- }
- #sfWebDebugBar[id]
- {
- position: fixed;
- }
- #sfWebDebugBar img
- {
- vertical-align: middle;
- }
- #sfWebDebugBar .sfWebDebugMenu
- {
- padding: 5px;
- padding-left: 0;
- display: inline;
- margin: 0;
- }
- #sfWebDebugBar .sfWebDebugMenu li
- {
- display: inline;
- list-style: none;
- margin: 0;
- padding: 0 6px;
- }
- #sfWebDebugBar .sfWebDebugMenu li.last
- {
- margin: 0;
- padding: 0;
- border: 0;
- }
- #sfWebDebugDatabaseDetails li
- {
- margin: 0;
- margin-left: 30px;
- padding: 5px 0;
- }
- #sfWebDebugShortMessages li
- {
- margin-bottom: 10px;
- padding: 5px;
- background-color: #ddd;
- }
- #sfWebDebugShortMessages li
- {
- list-style: none;
- }
- #sfWebDebugDetails
- {
- margin-right: 7px;
- }
- #sfWebDebug pre
- {
- line-height: 1.3;
- margin-bottom: 10px;
- }
- #sfWebDebug h1
- {
- font-size: 16px;
- font-weight: bold;
- margin: 20px 0;
- padding: 0;
- border: 0px;
- background-color: #eee;
- }
- #sfWebDebug h2
- {
- font-size: 14px;
- font-weight: bold;
- margin: 10px 0;
- padding: 0;
- border: 0px;
- background: none;
- }
- #sfWebDebug h3
- {
- font-size: 12px;
- font-weight: bold;
- margin: 10px 0;
- padding: 0;
- border: 0px;
- background: none;
- }
- #sfWebDebug .sfWebDebugTop
- {
- position: absolute;
- left: 0px;
- top: 0px;
- width: 98%;
- padding: 0 1%;
- margin: 0;
- z-index: 9999;
- background-color: #efefef;
- border-bottom: 1px solid #aaa;
- }
- #sfWebDebugLog
- {
- margin: 0;
- padding: 3px;
- font-size: 11px;
- }
- #sfWebDebugLogMenu
- {
- margin-bottom: 5px;
- }
- #sfWebDebugLogMenu li
- {
- display: inline;
- list-style: none;
- margin: 0;
- padding: 0 5px;
- border-right: 1px solid #aaa;
- }
- #sfWebDebugConfigSummary
- {
- display: inline;
- padding: 5px;
- background-color: #ddd;
- border: 1px solid #aaa;
- margin: 20px 0;
- }
- #sfWebDebugConfigSummary li
- {
- list-style: none;
- display: inline;
- margin: 0;
- padding: 0 5px;
- }
- #sfWebDebugConfigSummary li.last
- {
- border: 0;
- }
- .sfWebDebugInfo, .sfWebDebugInfo td
- {
- background-color: #ddd;
- }
- .sfWebDebugWarning, .sfWebDebugWarning td
- {
- background-color: orange !important;
- }
- .sfWebDebugError, .sfWebDebugError td
- {
- background-color: #f99 !important;
- }
- .sfWebDebugLogNumber
- {
- width: 1%;
- }
- .sfWebDebugLogType
- {
- width: 1%;
- white-space: nowrap;
- }
- .sfWebDebugLogType, #sfWebDebug .sfWebDebugLogType a
- {
- color: darkgreen;
- }
- #sfWebDebug .sfWebDebugLogType a:hover
- {
- text-decoration: underline;
- }
- .sfWebDebugLogInfo
- {
- color: blue;
- }
- .ison
- {
- color: #3f3;
- margin-right: 5px;
- }
- .isoff
- {
- color: #f33;
- margin-right: 5px;
- text-decoration: line-through;
- }
- .sfWebDebugLogs
- {
- padding: 0;
- margin: 0;
- border: 1px solid #999;
- font-family: Arial;
- font-size: 11px;
- }
- .sfWebDebugLogs tr
- {
- padding: 0;
- margin: 0;
- border: 0;
- }
- .sfWebDebugLogs td
- {
- margin: 0;
- border: 0;
- padding: 1px 3px;
- vertical-align: top;
- }
- .sfWebDebugLogs th
- {
- margin: 0;
- border: 0;
- padding: 3px 5px;
- vertical-align: top;
- background-color: #999;
- color: #eee;
- white-space: nowrap;
- }
- .sfWebDebugDebugInfo
- {
- color: #999;
- font-size: 11px;
- margin: 5px 0 5px 10px;
- padding: 2px 0 2px 5px;
- border-left: 1px solid #aaa;
- line-height: 1.25em;
- }
- .sfWebDebugDebugInfo .sfWebDebugLogInfo,
- .sfWebDebugDebugInfo a.sfWebDebugFileLink
- {
- color: #333 !important;
- }
- .sfWebDebugCache
- {
- padding: 0;
- margin: 0;
- font-family: Arial;
- position: absolute;
- overflow: hidden;
- z-index: 995;
- font-size: 9px;
- padding: 2px;
- filter:alpha(opacity=85);
- -moz-opacity:0.85;
- opacity: 0.85;
- }
- #sfWebDebugSymfonyVersion
- {
- margin-left: 0;
- padding: 1px 4px;
- background-color: #666;
- color: #fff;
- }
- #sfWebDebugviewDetails ul
- {
- padding-left: 2em;
- margin: .5em 0;
- list-style: none;
- }
- #sfWebDebugviewDetails li
- {
- margin-bottom: .5em;
- }
- #sfWebDebug .sfWebDebugDataType,
- #sfWebDebug .sfWebDebugDataType a
- {
- color: #666;
- font-style: italic;
- }
- #sfWebDebug .sfWebDebugDataType a:hover
- {
- text-decoration: underline;
- }
- #sfWebDebugDatabaseLogs
- {
- margin-bottom: 10px;
- }
- #sfWebDebugDatabaseLogs ol
- {
- margin: 0;
- padding: 0;
- margin-left: 20px;
- list-style: number;
- }
- #sfWebDebugDatabaseLogs li
- {
- padding: 6px;
- }
- #sfWebDebugDatabaseLogs li:nth-child(odd)
- {
- background-color: #CCC;
- }
- .sfWebDebugDatabaseQuery
- {
- margin-bottom: .5em;
- margin-top: 0;
- }
- .sfWebDebugDatabaseLogInfo
- {
- color: #666;
- font-size: 11px;
- }
- .sfWebDebugDatabaseQuery .sfWebDebugLogInfo
- {
- color: #909;
- font-weight: bold;
- }
- .sfWebDebugHighlight
- {
- background: #FFC;
- }
- EOF;
- }
- }
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: sfWebDebug
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: [sfWebDebug, sfWebController, sfViewParameterHolder, sfViewException, sfViewConfigHandler, sfViewCacheManager, sfView, sfVarLogger, sfValidatorUrl, sfValidatorTime] }
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/sfWebDebug
PATH_TRANSLATED: 'redirect:/www/redotheoffice/codeview/web/index.php/sfWebDebug'
PHP_SELF: /index.php/sfCodeView/sfWebDebug
QUERY_STRING: ''
REMOTE_ADDR: 38.107.179.240
REMOTE_PORT: '57094'
REQUEST_METHOD: GET
REQUEST_TIME: 1337661147
REQUEST_URI: /index.php/sfCodeView/sfWebDebug
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: [sfWebController, sfViewParameterHolder, sfViewException, sfViewConfigHandler, sfViewCacheManager, sfView, sfVarLogger, sfValidatorUrl, sfValidatorTime, sfValidatorString] } }
symfony/user/sfUser/authenticated: false
symfony/user/sfUser/credentials: { }
symfony/user/sfUser/culture: en
symfony/user/sfUser/lastRequest: 1337661116
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/sfWebDebug with parameters array ( 'module' => 'sfCodeView', 'action' => 'index', 'class' => 'sfWebDebug', '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 | 44.52 | 12 |
| Factories | 1 | 30.24 | 8 |
| Action "sfCodeView/index" | 1 | 2.12 | 0 |
| View "Success" for "sfCodeView/index" | 1 | 263.88 | 73 |
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