Събития (Events)
Версии
Видео презентации
Тъй като приложенията, използващи Елементс са модулно ориентирани и всеки модул може вече да е готов, може да е написан от друг разработчик или просто не искаме да го натоварваме с чужда за него логика, възниква нуждата от нотифициране на останалите обекти в системата за възникването на някакво събитие (например модула Снабдяване има нужда да реагира на заприхождаване на стоки в склада, а това се управлява от друг, независим, модул).

Всеки обект уведомява системата за две основни събития AddComplete и EditComplete, съответно при нов запис или редактиране на запис. Допълнително към тези събития, статус системата (която ще бъде разгледана по-нататък в това описание) добавя събитието StatusChange за всеки обект, който има статуси. Всичко това се доставя автоматично от платформата. Ако обаче дадения обект или модул има допълнителни събития, които може да са важни за останалите модули в системата, разработчика може сам да добави колкото събития са необходими.

Тъй като всеки клас в крайна сметка наследява базовия клас Object, получава метода FireEvent($sEventName, $arEventArgs), който дава възможност за допълнителни събития. Класът Object отговаря за намирането на всички заинтересовани от това събитие класове и извикването им – всеки клас се регистрира за всяко интересуващо го събитие. Това може да бъде специфично само за едно събитие на един клас или да бъде за цялата система. Пример за второто е класа Log, който следи за всички AddComplete, EditComplete и всички изтривания на записи в системата, заедно с извикваните потребителя интерфейси и използваните действия, за да състави пълен запис на действията на потребителите в системата.
 
EnglishКарта на сайта
Уеб сайт, SEO от Калипърс

Ladger