flatpress/fp-includes/smarty-4.0.4/docs/programmers/advanced-features/advanced-features-static-classes.md
azett 52bf429a01 Replaced Smarty 2.6.31-dev with v 4.0.4, keeping the FP-specific Smarty plugins.
Updated calls to current Smarty API (register_function()/register_modifier()/register_block() -> registerPlugin(); assign_by_ref() -> assignByRef()).
Fixed file includes in templates with quotes.
Removed SmartyValidate.class.php includes.

Still work in progress as some errors still appear!
2022-01-23 15:02:33 +01:00

28 lines
890 B
Markdown

Static Classes {#advanced.features.static.classes}
==============
You can directly access static classes. The syntax is the same as in
PHP.
> **Note**
>
> Direct access to PHP classes is not recommended. This ties the
> underlying application code structure directly to the presentation,
> and also complicates template syntax. It is recommended to register
> plugins which insulate templates from PHP classes/objects. Use at your
> own discretion. See the Best Practices section of the Smarty website.
{assign var=foo value=myclass::BAR} <--- class constant BAR
{assign var=foo value=myclass::method()} <--- method result
{assign var=foo value=myclass::method1()->method2} <--- method chaining
{assign var=foo value=myclass::$bar} <--- property bar of class myclass
{assign var=foo value=$bar::method} <--- using Smarty variable bar as class name