AddClassProperty: различия между версиями
Материал из MajorDoMo инфо
Newz20 (обсуждение | вклад) (Новая страница: «Category:Встроенные функции ==Описание== '''addClassProperty'''('имя класса', 'имя свойства', 'хранить и...») |
Newz20 (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
==Альтернативные названия функции (сленг)== | ==Альтернативные названия функции (сленг)== | ||
== | Нет ничего 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 | |||
FROM properties | |||
WHERE TITLE = '" . DBSafe($property_name) . "' | |||
AND OBJECT_ID = 0 | |||
AND CLASS_ID = '" . $class_id . "'"; | |||
$prop = SQLSelectOne($sqlQuery); | |||
if (!$prop['ID']) { | |||
$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']; | |||
} |
Версия от 13:23, 12 декабря 2019
Описание
addClassProperty('имя класса', 'имя свойства', 'хранить историю', 'имя связанного метода'); - автоматическое создание свойства класса. Четвёртый параметр необязательный, позволяет автоматически линковать метод к свойству. Полезно использовать когда необходимо каждый раз выполнять метод при изменении значения свойства.
Примеры запросов
Альтернативные названия функции (сленг)
Нет ничего 4 параметром !!!!
/** * 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 FROM properties WHERE TITLE = '" . DBSafe($property_name) . "' AND OBJECT_ID = 0 AND CLASS_ID = '" . $class_id . "'"; $prop = SQLSelectOne($sqlQuery); if (!$prop['ID']) { $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']; }