- sfTask.class.php
- abstract class sfTask
- {
- protected
- $namespace = '',
- $name = null,
- $aliases = array(),
- $briefDescription = '',
- $detailedDescription = '',
- $arguments = array(),
- $options = array(),
- $dispatcher = null,
- $formatter = null;
-
- public function __construct(sfEventDispatcher $dispatcher, sfFormatter $formatter)
- {
- $this->initialize($dispatcher, $formatter);
- $this->configure();
- }
-
- public function initialize(sfEventDispatcher $dispatcher, sfFormatter $formatter)
- {
- $this->dispatcher = $dispatcher;
- $this->formatter = $formatter;
- }
-
- protected function configure()
- {
- }
-
- public function getFormatter()
- {
- return $this->formatter;
- }
-
- public function setFormatter(sfFormatter $formatter)
- {
- $this->formatter = $formatter;
- }
-
- public function runFromCLI(sfCommandManager $commandManager, $options = null)
- {
- $commandManager->getArgumentSet()->addArguments($this->getArguments());
- $commandManager->getOptionSet()->addOptions($this->getOptions());
- return $this->doRun($commandManager, $options);
- }
-
- public function run($arguments = array(), $options = array())
- {
- $commandManager = new sfCommandManager(new sfCommandArgumentSet($this->getArguments()), new sfCommandOptionSet($this->getOptions()));
- if (is_array($arguments) && is_string(key($arguments)))
- {
-
- $indexArguments = array();
- foreach ($this->arguments as $argument)
- {
- $indexArguments[$argument->getName()] = $argument;
- }
- foreach ($arguments as $name => $value)
- {
- if (false !== $pos = array_search($name, array_keys($indexArguments)))
- {
- if ($indexArguments[$name]->isArray())
- {
- $value = join(' ', (array) $value);
- $arguments[$pos] = isset($arguments[$pos]) ? $arguments[$pos].' '.$value : $value;
- }
- else
- {
- $arguments[$pos] = $value;
- }
- unset($arguments[$name]);
- }
- }
- ksort($arguments);
- }
-
- $indexedOptions = array();
- foreach ($this->options as $option)
- {
- $indexedOptions[$option->getName()] = $option;
- }
- foreach ($options as $name => $value)
- {
- if (is_string($name))
- {
- if (false === $value || null === $value || (isset($indexedOptions[$name]) && $indexedOptions[$name]->isArray() && !$value))
- {
- unset($options[$name]);
- continue;
- }
-
- $value = true === $value ? $name : sprintf('%s=%s', $name, isset($indexedOptions[$name]) && $indexedOptions[$name]->isArray() ? join(' --'.$name.'=', (array) $value) : $value);
- }
-
- if (0 !== strpos($value, '--'))
- {
- $value = '--'.$value;
- }
- $options[] = $value;
- unset($options[$name]);
- }
- return $this->doRun($commandManager, is_string($arguments) ? $arguments : implode(' ', array_merge($arguments, $options)));
- }
-
- public function getArguments()
- {
- return $this->arguments;
- }
-
- public function addArguments($arguments)
- {
- $this->arguments = array_merge($this->arguments, $arguments);
- }
-
- public function addArgument($name, $mode = null, $help = '', $default = null)
- {
- $this->arguments[] = new sfCommandArgument($name, $mode, $help, $default);
- }
-
- public function getOptions()
- {
- return $this->options;
- }
-
- public function addOptions($options)
- {
- $this->options = array_merge($this->options, $options);
- }
-
- public function addOption($name, $shortcut = null, $mode = null, $help = '', $default = null)
- {
- $this->options[] = new sfCommandOption($name, $shortcut, $mode, $help, $default);
- }
-
- public function getNamespace()
- {
- return $this->namespace;
- }
-
- public function getName()
- {
- if ($this->name)
- {
- return $this->name;
- }
- $name = get_class($this);
- if ('sf' == substr($name, 0, 2))
- {
- $name = substr($name, 2);
- }
- if ('Task' == substr($name, -4))
- {
- $name = substr($name, 0, -4);
- }
- return str_replace('_', '-', sfInflector::underscore($name));
- }
-
- final function getFullName()
- {
- return $this->getNamespace() ? $this->getNamespace().':'.$this->getName() : $this->getName();
- }
-
- public function getBriefDescription()
- {
- return $this->briefDescription;
- }
-
- public function getDetailedDescription()
- {
- return preg_replace('/\[(.+?)\|(\w+)\]/se', '$this->formatter->format("$1", "$2")', $this->detailedDescription);
- }
-
- public function getAliases()
- {
- return $this->aliases;
- }
-
- public function getSynopsis()
- {
- $options = array();
- foreach ($this->getOptions() as $option)
- {
- $shortcut = $option->getShortcut() ? sprintf('-%s|', $option->getShortcut()) : '';
- $options[] = sprintf('['.($option->isParameterRequired() ? '%s--%s="..."' : ($option->isParameterOptional() ? '%s--%s[="..."]' : '%s--%s')).']', $shortcut, $option->getName());
- }
- $arguments = array();
- foreach ($this->getArguments() as $argument)
- {
- $arguments[] = sprintf($argument->isRequired() ? '%s' : '[%s]', $argument->getName().($argument->isArray() ? '1' : ''));
- if ($argument->isArray())
- {
- $arguments[] = sprintf('... [%sN]', $argument->getName());
- }
- }
- return sprintf('%%s %s %s %s', $this->getFullName(), implode(' ', $options), implode(' ', $arguments));
- }
- protected function process(sfCommandManager $commandManager, $options)
- {
- $commandManager->process($options);
- if (!$commandManager->isValid())
- {
- throw new sfCommandArgumentsException(sprintf("The execution of task \"%s\" failed.\n- %s", $this->getFullName(), implode("\n- ", $commandManager->getErrors())));
- }
- }
- protected function doRun(sfCommandManager $commandManager, $options)
- {
- $this->dispatcher->filter(new sfEvent($this, 'command.filter_options', array('command_manager' => $commandManager)), $options);
- $this->process($commandManager, $options);
- $event = new sfEvent($this, 'command.pre_command', array('arguments' => $commandManager->getArgumentValues(), 'options' => $commandManager->getOptionValues()));
- $this->dispatcher->notifyUntil($event);
- if ($event->isProcessed())
- {
- return $event->getReturnValue();
- }
- $ret = $this->execute($commandManager->getArgumentValues(), $commandManager->getOptionValues());
- $this->dispatcher->notify(new sfEvent($this, 'command.post_command'));
- return $ret;
- }
-
- public function log($messages)
- {
- if (!is_array($messages))
- {
- $messages = array($messages);
- }
- $this->dispatcher->notify(new sfEvent($this, 'command.log', $messages));
- }
-
- public function logSection($section, $message, $size = null, $style = 'INFO')
- {
- $this->dispatcher->notify(new sfEvent($this, 'command.log', array($this->formatter->formatSection($section, $message, $size, $style))));
- }
-
- public function logBlock($messages, $style)
- {
- if (!is_array($messages))
- {
- $messages = array($messages);
- }
- $style = str_replace('_LARGE', '', $style, $count);
- $large = (Boolean) $count;
- $len = 0;
- $lines = array();
- foreach ($messages as $message)
- {
- $lines[] = sprintf($large ? ' %s ' : ' %s ', $message);
- $len = max($this->strlen($message) + ($large ? 4 : 2), $len);
- }
- $messages = $large ? array(str_repeat(' ', $len)) : array();
- foreach ($lines as $line)
- {
- $messages[] = $line.str_repeat(' ', $len - $this->strlen($line));
- }
- if ($large)
- {
- $messages[] = str_repeat(' ', $len);
- }
- foreach ($messages as $message)
- {
- $this->log($this->formatter->format($message, $style));
- }
- }
-
- public function ask($question, $style = 'QUESTION', $default = null)
- {
- if (false === $style)
- {
- $this->log($question);
- }
- else
- {
- $this->logBlock($question, null === $style ? 'QUESTION' : $style);
- }
- $ret = trim(fgets(STDIN));
- return $ret ? $ret : $default;
- }
-
- public function askConfirmation($question, $style = 'QUESTION', $default = true)
- {
- $answer = 'z';
- while ($answer && !in_array(strtolower($answer[0]), array('y', 'n')))
- {
- $answer = $this->ask($question, $style);
- }
- if (false === $default)
- {
- return $answer && 'y' == strtolower($answer[0]);
- }
- else
- {
- return !$answer || 'y' == strtolower($answer[0]);
- }
- }
-
- public function askAndValidate($question, sfValidatorBase $validator, array $options = array())
- {
- if (!is_array($question))
- {
- $question = array($question);
- }
- $options = array_merge(array(
- 'value' => null,
- 'attempts' => false,
- 'style' => 'QUESTION',
- ), $options);
-
- if ($options['value'])
- {
- try
- {
- return $validator->clean($options['value']);
- }
- catch (sfValidatorError $error)
- {
- }
- }
-
- $error = null;
- while (false === $options['attempts'] || $options['attempts']--)
- {
- if (null !== $error)
- {
- $this->logBlock($error->getMessage(), 'ERROR');
- }
- $value = $this->ask($question, $options['style'], null);
- try
- {
- return $validator->clean($value);
- }
- catch (sfValidatorError $error)
- {
- }
- }
- throw $error;
- }
-
- public function asXml()
- {
- $dom = new DOMDocument('1.0', 'UTF-8');
- $dom->formatOutput = true;
- $dom->appendChild($taskXML = $dom->createElement('task'));
- $taskXML->setAttribute('id', $this->getFullName());
- $taskXML->setAttribute('namespace', $this->getNamespace() ? $this->getNamespace() : '_global');
- $taskXML->setAttribute('name', $this->getName());
- $taskXML->appendChild($usageXML = $dom->createElement('usage'));
- $usageXML->appendChild($dom->createTextNode(sprintf($this->getSynopsis(), '')));
- $taskXML->appendChild($descriptionXML = $dom->createElement('description'));
- $descriptionXML->appendChild($dom->createTextNode(implode("\n ", explode("\n", $this->getBriefDescription()))));
- $taskXML->appendChild($helpXML = $dom->createElement('help'));
- $help = $this->detailedDescription;
- $help = str_replace(array('|COMMENT', '|INFO'), array('|strong', '|em'), $help);
- $help = preg_replace('/\[(.+?)\|(\w+)\]/s', '<$2>$1</$2>', $help);
- $helpXML->appendChild($dom->createTextNode(implode("\n ", explode("\n", $help))));
- $taskXML->appendChild($aliasesXML = $dom->createElement('aliases'));
- foreach ($this->getAliases() as $alias)
- {
- $aliasesXML->appendChild($aliasXML = $dom->createElement('alias'));
- $aliasXML->appendChild($dom->createTextNode($alias));
- }
- $taskXML->appendChild($argumentsXML = $dom->createElement('arguments'));
- foreach ($this->getArguments() as $argument)
- {
- $argumentsXML->appendChild($argumentXML = $dom->createElement('argument'));
- $argumentXML->setAttribute('name', $argument->getName());
- $argumentXML->setAttribute('is_required', $argument->isRequired() ? 1 : 0);
- $argumentXML->setAttribute('is_array', $argument->isArray() ? 1 : 0);
- $argumentXML->appendChild($helpXML = $dom->createElement('description'));
- $helpXML->appendChild($dom->createTextNode($argument->getHelp()));
- $argumentXML->appendChild($defaultsXML = $dom->createElement('defaults'));
- $defaults = is_array($argument->getDefault()) ? $argument->getDefault() : ($argument->getDefault() ? array($argument->getDefault()) : array());
- foreach ($defaults as $default)
- {
- $defaultsXML->appendChild($defaultXML = $dom->createElement('default'));
- $defaultXML->appendChild($dom->createTextNode($default));
- }
- }
- $taskXML->appendChild($optionsXML = $dom->createElement('options'));
- foreach ($this->getOptions() as $option)
- {
- $optionsXML->appendChild($optionXML = $dom->createElement('option'));
- $optionXML->setAttribute('name', '--'.$option->getName());
- $optionXML->setAttribute('shortcut', $option->getShortcut() ? '-'.$option->getShortcut() : '');
- $optionXML->setAttribute('accept_parameter', $option->acceptParameter() ? 1 : 0);
- $optionXML->setAttribute('is_parameter_required', $option->isParameterRequired() ? 1 : 0);
- $optionXML->setAttribute('is_multiple', $option->isArray() ? 1 : 0);
- $optionXML->appendChild($helpXML = $dom->createElement('description'));
- $helpXML->appendChild($dom->createTextNode($option->getHelp()));
- if ($option->acceptParameter())
- {
- $optionXML->appendChild($defaultsXML = $dom->createElement('defaults'));
- $defaults = is_array($option->getDefault()) ? $option->getDefault() : ($option->getDefault() ? array($option->getDefault()) : array());
- foreach ($defaults as $default)
- {
- $defaultsXML->appendChild($defaultXML = $dom->createElement('default'));
- $defaultXML->appendChild($dom->createTextNode($default));
- }
- }
- }
- return $dom->saveXml();
- }
-
- abstract protected function execute($arguments = array(), $options = array());
- protected function strlen($string)
- {
- return function_exists('mb_strlen') ? mb_strlen($string) : strlen($string);
- }
- }
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: sfTask
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: [sfTask, sfSymfonyTestTask, sfSymfonyPluginManager, sfSymfonyCommandApplication, sfStreamLogger, sfStorageException, sfStorage, sfStopException, sfSimpleYamlConfigHandler, sfSimpleAutoload] }
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: igbg1vov0kr106fi7q336aqd75
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=igbg1vov0kr106fi7q336aqd75
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/sfTask
PATH_TRANSLATED: 'redirect:/www/redotheoffice/codeview/web/index.php/sfTask'
PHP_SELF: /index.php/sfCodeView/sfTask
QUERY_STRING: ''
REMOTE_ADDR: 38.107.179.241
REMOTE_PORT: '53460'
REQUEST_METHOD: GET
REQUEST_TIME: 1337462074
REQUEST_URI: /index.php/sfCodeView/sfTask
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: [sfSymfonyTestTask, sfSymfonyPluginManager, sfSymfonyCommandApplication, sfStreamLogger, sfStorageException, sfStorage, sfStopException, sfSimpleYamlConfigHandler, sfSimpleAutoload, sfSessionTestStorage] } }
symfony/user/sfUser/authenticated: false
symfony/user/sfUser/credentials: { }
symfony/user/sfUser/culture: en
symfony/user/sfUser/lastRequest: 1337461905
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/sfTask with parameters array ( 'module' => 'sfCodeView', 'action' => 'index', 'class' => 'sfTask', '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 | 33.16 | 12 |
| Factories | 1 | 6.56 | 2 |
| Action "sfCodeView/index" | 1 | 0.60 | 0 |
| View "Success" for "sfCodeView/index" | 1 | 216.95 | 84 |
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