silverstripe-framework/view/TemplateGlobalProvider.php
Sam Minnee 1f7fc1f76a FIX Remove instances of lines longer than 120c
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit.  This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00

36 lines
1.3 KiB
PHP

<?php
/**
* Interface that is implemented by any classes that want to expose a method that can be called in any
* scope in a template.
*
* Director::AbsoluteBaseURL is an example of this.
*
* @package framework
* @subpackage core
*/
interface TemplateGlobalProvider {
/**
* Called by SSViewer to get a list of global variables to expose to the template, the static method to call on
* this class to get the value for those variables, and the class to use for casting the returned value for use
* in a template
*
* If the method to call is not included for a particular template variable, a method named the same as the
* template variable will be called
*
* If the casting class is not specified for a particular template variable, ViewableData::$default_cast is used
*
* The first letter of the template variable is case-insensitive. However the method name is always case sensitive.
*
* @abstract
* @return array Returns an array of items. Each key => value pair is one of three forms:
* - template name (no key)
* - template name => method name
* - template name => array(), where the array can contain these key => value pairs
* - "method" => method name
* - "casting" => casting class to use (i.e., Varchar, HTMLText, etc)
*/
public static function get_template_global_variables();
}