shop-old/libs/smarty/docs/programmers/advanced-features/advanced-features-static-classes.md
Thomas Bartelt 0a669704ea Dev-Umgebung: Kompatibilität für PHP 8.3 + Smarty 4.5.6
- Smarty 4.1.1 → 4.5.6 (behebt dynamic property deprecations)
- Core-Klassen: #[\AllowDynamicProperties] für Admin_role, base, Config,
  Customer, Customer_group, CustomerGroups, Item, Structure, website
- website.class.php: counts[parent_id] initialisieren vor ++ (PHP 8.1)
- layout.class.php: HTTP_ACCEPT_LANGUAGE mit isset-Guard
- website_init.php: session_status()-Check vor session_start
- .htaccess: HTTPS-Redirect via X-Forwarded-Proto (statt SERVER_PORT)
- themes/easyshop_advanced/media/: Parent-Theme-Assets nachgezogen
- .gitignore: smarty.4.1.1.bak ausschließen
2026-04-20 01:19:01 +02:00

890 B

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