Summary:
Deprecated: Creation of dynamic property SmartForms\Dispositions\SessionDispositionEditor
Detailed Description:
Under PHP 8.4.6
Deprecated: Creation of dynamic property
SmartForms\Dispositions\SessionDispositionEditor::$_mod is deprecated in
C:\wamp64\www\eat-lyon\modules\SmartForms\lib\Dispositions\class.SessionDispositionEditor.php
on line 13
FIX :
The Fix
modules\SmartForms\lib\Dispositions\class.SessionDispositionEditor.php and add
the property declaration for $_mod at the top of the class.
Change this:
class SessionDispositionEditor extends DispositionEditor
{
private $_disp;
public function __construct(\SmartForms $mod )
{
To this:
class SessionDispositionEditor extends DispositionEditor
{
private $_mod; // Add this line
private $_disp;
public function __construct(\SmartForms $mod )
{
Why this happens:
Previously, PHP allowed you to "invent" properties on the fly just by assigning
a value to them ($this->_mod = ...). This was often considered bad practice
because it made code harder to debug and prone to typos (e.g., if you
accidentally wrote $_modd in one place, it would create a new property instead
of throwing an error). PHP 8.2+ enforces "Strict Typing" for properties,
requiring you to declare what the class contains before you use those variables.