Comparing changes: https://github.com/smarty-php/smarty/compare/v4.3.1...v4.4.1 It is noticeable that Smarty 4.3.1 does not officially support PHP 8.3. Is only supported with 4.4.0. Remark: During tests with Smarty 4.5.1, it was noticed that the following warning occurs: Deprecated: Using the unregistered function "function_exists" in a template is deprecated and will be removed in a future version. Use Smarty::registerPlugin to explicitly register a custom modifier. As of Smarty 5.X.X, templates must be revised again. The Smarty release 5.0.2 is already officially available. However, integration into FlatPress is not entirely trivial.
66 lines
1.1 KiB
Markdown
66 lines
1.1 KiB
Markdown
registerClass()
|
|
|
|
register a class for use in the templates
|
|
|
|
Description
|
|
===========
|
|
|
|
void
|
|
|
|
registerClass
|
|
|
|
string
|
|
|
|
class\_name
|
|
|
|
string
|
|
|
|
class\_impl
|
|
|
|
Smarty allows you to access static classes from templates as long as the
|
|
[Security Policy](#advanced.features.security) does not tell it
|
|
otherwise. If security is enabled, classes registered with
|
|
`registerClass()` are accessible to templates.
|
|
|
|
|
|
<?php
|
|
|
|
class Bar {
|
|
$property = "hello world";
|
|
}
|
|
|
|
$smarty = new Smarty();
|
|
$smarty->registerClass("Foo", "Bar");
|
|
|
|
|
|
|
|
|
|
{* Smarty will access this class as long as it's not prohibited by security *}
|
|
{Bar::$property}
|
|
{* Foo translates to the real class Bar *}
|
|
{Foo::$property}
|
|
|
|
|
|
|
|
|
|
<?php
|
|
namespace my\php\application {
|
|
class Bar {
|
|
$property = "hello world";
|
|
}
|
|
}
|
|
|
|
$smarty = new Smarty();
|
|
$smarty->registerClass("Foo", "\my\php\application\Bar");
|
|
|
|
|
|
|
|
|
|
{* Foo translates to the real class \my\php\application\Bar *}
|
|
{Foo::$property}
|
|
|
|
|
|
|
|
See also [`registerObject()`](#api.register.object), and
|
|
[Security](#advanced.features.security).
|