URL Variable Tools

Introduction

This page lists a number of "page options" , "rendering tools" or "special URL variables" that you can use to debug your SilverStripe applications. These are consumed in PHP using the $_REQUEST or $_GET superglobals throughout the SilverStripe core.

Debug Toolbar

The easiest way to debug SilverStripe is through the lekoala/silverstripe-debugbar module. It similar to the browser "developer toolbar", and adds itself to the bottom of the screen when your site is in development mode. It shows you render times, database queries, session variables, used templates and much more.

Templates

| URL Variable | | Values | | Description | | ------------ | | ------ | | ----------- | | flush | | 1 | | Clears out all caches. Used mainly during development, e.g. when adding new classes or templates. Requires "dev" mode or ADMIN login | | showtemplate | | 1 | | Show the compiled version of all the templates used, including line numbers. Good when you have a syntax error in a template. Cannot be used on a Live site without isDev. |

General Testing

| URL Variable | | Values | | Description | | ------------ | | ------ | | ----------- | | isDev | | 1 | | Put the site into development mode, enabling debugging messages to the browser on a live server. For security, you'll be asked to log in with an administrator log-in. Will persist for the current browser session. | | isTest | | 1 | | See above. | | debug | | 1 | | Show a collection of debugging information about the director / controller operation | | debug_request | | 1 | | Show all steps of the request from initial HTTPRequest to Controller to Template Rendering | | execmetric | | 1 | | Display the execution time and peak memory usage for the request |

Classes and Objects

| URL Variable | | Values | | Description | | ------------ | | ------ | | ----------- | | debugfailover | | 1 | | Shows failover methods from classes extended |

Database

| URL Variable | | Values | | Description | | ------------ | | --------- | | ----------- | | showqueries | | 1|inline | | List all SQL queries executed, the inline option will do a fudge replacement of parameterised queries | | showqueries | | 1|backtrace | | List all SQL queries executed, the backtrace option will do a fudge replacement of parameterised queries and show a backtrace of every query | | previewwrite | | 1 | | List all insert / update SQL queries, and don't execute them. Useful for previewing writes to the database. |

Security Redirects

You can set an URL to redirect back to after a Security action. See the section on URL Redirections for more information and examples.

| URL Variable | | Values | | Description | | ------------ | | ------ | | ----------- | | BackURL | | URL | | Set to a relative URL string to use once Security Action is complete |

Building and Publishing URLS

| Site URL | | Action | | -------- | | ------ | | http://localhost**/dev/build** | | Rebuild the entire database and manifest, see below for additional URL Variables | | http://localhost**/admin/pages/publishall/** | | Publish all pages on the site. Only works reliably on smaller sites.

/dev/build

| URL Variable | | Values | | Description | | ------------ | | ------ | | ----------- | | quiet | | 1 | | Don't show messages during build | | dont_populate | | 1 | | Don't run requireDefaultRecords() on the models when building. This will build the table but not insert any records |