\FOFPlatformInterface
Part of the FOF Platform Abstraction Layer. It implements everything that depends on the platform FOF is running under, e.g. the Joomla! CMS front-end, the Joomla! CMS back-end, a CLI Joomla! Platform app, a bespoke Joomla! Platform / Framework web application and so on.
This is the abstract class implementing some basic housekeeping functionality
and provides the static interface to get the appropriate Platform object for
use in the rest of the framework.
Synopsis
interface FOFPlatformInterface
{
- // methods
- public void setErrorHandling()
- public integer getOrdering()
- public boolean isEnabled()
- public array getComponentBaseDirs()
- public array getViewTemplatePaths()
- public array getTemplateSuffixes()
- public string getTemplateOverridePath()
- public void loadTranslations()
- public boolean authorizeAdmin()
- public mixed getUserStateFromRequest()
- public void importPlugin()
- public array runPlugins()
- public boolean authorise()
- public JUser getUser()
- public JDocument getDocument()
- public boolean isBackend()
- public boolean isFrontend()
- public boolean isCli()
- public boolean supportsAjaxOrdering()
- public boolean checkVersion()
- public boolean setCache()
- public string getCache()
- public boolean clearCache()
- public boolean isGlobalFOFCacheEnabled()
- public boolean loginUser()
- public boolean logoutUser()
- public void logDeprecated()
Methods
public
- checkVersion() — Performs a check between two versions. Use this function instead of PHP version_compare so we can mock it while testing
- clearCache() — Clears the cache of system-wide FOF data. You are supposed to call this in your components' installation script post-installation and post-upgrade methods or whenever you are modifying the structure of database tables accessed by FOF. Please note that FOF's cache never expires and is not purged by Joomla!. You MUST use this method to manually purge the cache.
- getCache() — Retrieves data from the cache. This is supposed to be used for system-side FOF data, not application data.
- getComponentBaseDirs() — Returns the base (root) directories for a given component. The "component" is used in the sense of what we call "component" in Joomla!, "plugin" in WordPress and "module" in Drupal, i.e. an application which is running inside our main application (CMS).
- getDocument() — Returns the JDocument object which handles this component's response. You may also return null and FOF will a. try to figure out the output type by examining the "format" input parameter (or fall back to "html") and b.
- getOrdering() — Returns the ordering of the platform class. Files with a lower ordering number will be loaded first.
- getTemplateOverridePath() — Return the absolute path to the application's template overrides directory for a specific component. We will use it to look for template files instead of the regular component directorues. If the application does not have such a thing as template overrides return an empty string.
- getTemplateSuffixes() — Get application-specific suffixes to use with template paths. This allows you to look for view template overrides based on the application version.
- getUser() — Returns a user object.
- getUserStateFromRequest() — This method will try retrieving a variable from the request (input) data.
- getViewTemplatePaths() — Return a list of the view template paths for this component. The paths are in the format site:/component_name/view_name/layout_name or admin:/component_name/view_name/layout_name
- importPlugin() — Load plugins of a specific type. Obviously this seems to only be required in the Joomla! CMS.
- isBackend() — Is this the administrative section of the component?
- isCli() — Is this a component running in a CLI application?
- isEnabled() — Is this platform enabled? This is used for automatic platform detection.
- isFrontend() — Is this the public section of the component?
- isGlobalFOFCacheEnabled() — Is the global FOF cache enabled?
- loadTranslations() — Load the translation files for a given component. The "component" is used in the sense of what we call "component" in Joomla!, "plugin" in WordPress and "module" in Drupal, i.e. an application which is running inside our main application (CMS).
- logDeprecated() — Logs a deprecated practice. In Joomla! this results in the $message being output in the deprecated log file, found in your site's log directory.
- loginUser() — logs in a user
- logoutUser() — logs out a user
- runPlugins() — Execute plugins (system-level triggers) and fetch back an array with their return values.
- setCache() — Saves something to the cache. This is supposed to be used for system-wide FOF data, not application data.
- setErrorHandling() — Set the error Handling, if possible
- supportsAjaxOrdering() — Is AJAX re-ordering supported? This is 100% Joomla!-CMS specific. All other platforms should return false and never ask why.