\FOFPlatform
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
class FOFPlatform
implements
FOFPlatformInterface
{
- // members
- public $ordering;
- protected $isEnabled;
- protected $paths;
- protected FOFPlatformInterface $instance;
- // methods
- public void setErrorHandling()
- public static void registerPlatformPath()
- public static void unregisterPlatformPath()
- public static void forceInstance()
- public static FOFPlatformInterface getInstance()
- 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 JDocument getUser()
- public JDocument getDocument()
- public mixed getUserStateFromRequest()
- public void importPlugin()
- public array runPlugins()
- public boolean authorise()
- public boolean isBackend()
- public boolean isFrontend()
- public boolean isCli()
- public boolean supportsAjaxOrdering()
- public boolean checkVersion()
- public boolean setCache()
- public string getCache()
- public boolean isGlobalFOFCacheEnabled()
- public boolean clearCache()
- public boolean loginUser()
- public boolean logoutUser()
- public void logDeprecated()
Hierarchy
Members
protected
- $instance
—
FOFPlatformInterface
The platform class instance which will be returned by getInstance - $isEnabled
—
boolean
Caches the enabled status of this platform class. - $paths
—
array
The list of paths where platform class files will be looked for
public
- $ordering
—
integer
The ordering for this platform class. The lower this number is, the more important this class becomes. Most important enabled class ends up being used.
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.
- forceInstance() — Force a specific platform object to be used. If null, nukes 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.
- getDocument() — Returns the JDocument object which handles this component's response.
- getInstance() — Find and return the most relevant platform object
- getOrdering() — Returns the ordering of the platform class.
- 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 the JUser object for the current user
- getUserStateFromRequest() — This method will try retrieving a variable from the request (input) data.
- getViewTemplatePaths() — Return a list of the view template directories for this component.
- 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?
- 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.
- 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
- registerPlatformPath() — Register a path where platform files will be looked for. These take precedence over the built-in platform files.
- 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.
- unregisterPlatformPath() — Unregister a path where platform files will be looked for.