AddClassProperty: различия между версиями

Материал из MajorDoMo инфо
(→‎Примеры запросов: Добавление свойства классу)
 
(не показана 1 промежуточная версия 1 участника)
Строка 3: Строка 3:
'''addClassProperty'''('имя класса', 'имя свойства', 'хранить историю', 'имя связанного метода'); - автоматическое создание свойства класса. Четвёртый параметр необязательный, позволяет автоматически линковать метод к свойству. Полезно использовать когда необходимо каждый раз выполнять метод при изменении значения свойства.
'''addClassProperty'''('имя класса', 'имя свойства', 'хранить историю', 'имя связанного метода'); - автоматическое создание свойства класса. Четвёртый параметр необязательный, позволяет автоматически линковать метод к свойству. Полезно использовать когда необходимо каждый раз выполнять метод при изменении значения свойства.
==Примеры запросов==
==Примеры запросов==
Для того чтобы добавить свойство классу вызовем консоль впишем функцию


==Альтернативные названия функции (сленг)==
<pre>AddClassProperty('Мой класс', 'Моё свойство');</pre>


Нет ничего 4 параметром !!!!
  и нажмем кнопку "Отправить"
<pre>
/**
  * Summary of addClassProperty
* @param mixed $class_name Class name
* @param mixed $property_name Property name
* @param mixed $keep_history Flag keep history (default 0)
* @return mixed
*/
function addClassProperty($class_name, $property_name, $keep_history = 0)
{
    $class_id = addClass($class_name);


    $sqlQuery = "SELECT ID
[[Файл:AddClassProperty('Мой класс', 'Моё свойство');.png|центр]]
                  FROM properties
                WHERE TITLE = '" . DBSafe($property_name) . "'
                  AND OBJECT_ID = 0
                  AND CLASS_ID  = '" . $class_id . "'";


    $prop = SQLSelectOne($sqlQuery);
Таким образом у нас создастся свойство "Моё свойство" в Классе "Мой класс", но такие поля как "время хранения истории" или имя связанного метода который будет запускаться при изменении данного свойства  будут пустыми. Чтобы учесть эти данные необходимо дополнить функцию этими параметрами через запятую без кавычек прописывается хранение истории


    if (!$prop['ID']) {
<pre>addClassProperty('Мой класс', 'Моё свойство', 3);</pre>
        $prop = array();


        $prop['CLASS_ID'] = $class_id;
==Альтернативные названия функции (сленг)==
        $prop['TITLE'] = $property_name;
        $prop['KEEP_HISTORY'] = $keep_history;
        $prop['OBJECT_ID'] = 0;
        $prop['ID'] = SQLInsert('properties', $prop);
    }
 
    return $prop['ID'];
}

Текущая версия от 22:35, 6 июня 2020

Описание

addClassProperty('имя класса', 'имя свойства', 'хранить историю', 'имя связанного метода'); - автоматическое создание свойства класса. Четвёртый параметр необязательный, позволяет автоматически линковать метод к свойству. Полезно использовать когда необходимо каждый раз выполнять метод при изменении значения свойства.

Примеры запросов

Для того чтобы добавить свойство классу вызовем консоль впишем функцию

AddClassProperty('Мой класс', 'Моё свойство');
и нажмем кнопку "Отправить"
AddClassProperty('Мой класс', 'Моё свойство');.png

Таким образом у нас создастся свойство "Моё свойство" в Классе "Мой класс", но такие поля как "время хранения истории" или имя связанного метода который будет запускаться при изменении данного свойства будут пустыми. Чтобы учесть эти данные необходимо дополнить функцию этими параметрами через запятую без кавычек прописывается хранение истории

addClassProperty('Мой класс', 'Моё свойство', 3);

Альтернативные названия функции (сленг)