Страница 1 из 2
Условные события
Добавлено: Ср авг 20, 2014 7:46 pm
Bagir
Подскажите как ПРАВИЛЬНО обставить ситуацию, когда нужно сделать что то (например запустить свой скрипт), если свойство объекта А = скажем 5, и свойство объекта B = 3. И таких условий и критериев будет много.
Re: Условные события
Добавлено: Ср авг 20, 2014 7:52 pm
Vit
просто попробуйте условие
Код: Выделить всё
if (свойство объекта А ==5 && свойство объекта B ==3) {
запустить мой скрипт
}
$A=$this->getProperty("объекта А.свойство"); //получить значение свойства объекта А
$B=$this->getProperty("объекта B.свойство"); //получить значение свойства объекта B
Код: Выделить всё
if ($A ==5 && $B ==3) {
запустить мой скрипт
}
Re: Условные события
Добавлено: Ср авг 20, 2014 7:56 pm
Bagir
Да, это я понял, но мне интересно, где именно это написать. Ну например я бы мог предположить, что подобное можно добавить в
Class: Timer Объект: ClockChime Метод: onNewMinute Но тогда условие будет проверяться не часто.
Или же использовать планировщик, и крутить скрипт с проверкой постоянно, скажем каждую секунду. Но это как то выглядит не очень.
Re: Условные события
Добавлено: Ср авг 20, 2014 7:58 pm
Vit
Вы можете запускать этот код каждый раз при изменении свойства объекта... будет запускаться с переодичностью изменения значения свойства...
Re: Условные события
Добавлено: Ср авг 20, 2014 8:02 pm
Bagir
Тоже верно, но я не знаю на будущее, какие еще завтра я напишу действия, и от каких условий они будут зависеть. А если рассмотреть вариант, когда скрипт будет запускаться в зависимости от состояния 10 условий?
Простите за возможно глупые вопросы, просто я еще до конца не понял структуру работы системы.
Re: Условные события
Добавлено: Ср авг 20, 2014 8:05 pm
Vit
Bagir писал(а):Тоже верно, но я не знаю на будущее, какие еще завтра я напишу действия, и от каких условий они будут зависеть. А если рассмотреть вариант, когда скрипт будет запускаться в зависимости от состояния 10 условий?
Простите за возможно глупые вопросы, просто я еще до конца не понял структуру работы системы.
будете 10 условий писать))
пример световых часов:
Код: Выделить всё
if (timeBetween("00:00", "01:00")||timeBetween("12:00", "13:00")){
// красный
$this->callMethod('setColor',array("VALUE"=>'001100000000'));
}elseif (timeBetween("01:00", "02:00")||timeBetween("13:00", "14:00")){
// желтый
$this->callMethod('setColor',array("VALUE"=>'001255237000'));
}elseif (timeBetween("02:00", "03:00")||timeBetween("14:00", "15:00")){
// морская волна
$this->callMethod('setColor',array("VALUE"=>'001000100100'));
}elseif (timeBetween("03:00", "04:00")||timeBetween("15:00", "16:00")){
// красный
$this->callMethod('setColor',array("VALUE"=>'001100000010'));
}elseif (timeBetween("04:00", "05:00")||timeBetween("16:00", "17:00")){
// зелный
$this->callMethod('setColor',array("VALUE"=>'001000100000'));
}elseif (timeBetween("05:00", "06:00")||timeBetween("17:00", "18:00")){
// голубой
$this->callMethod('setColor',array("VALUE"=>'001000100050'));
}elseif (timeBetween("06:00", "07:00")||timeBetween("18:00", "19:00")){
// малиновый
$this->callMethod('setColor',array("VALUE"=>'001100000050'));
}elseif (timeBetween("07:00", "08:00")||timeBetween("19:00", "20:00")){
// светло-зеленый
$this->callMethod('setColor',array("VALUE"=>'001050100000'));
}elseif (timeBetween("08:00", "09:00")||timeBetween("20:00", "21:00")){
// синий
и т.д.
начните с малого, а походу действий разберетесь. Коллективный разум уж точно подскажет))
Re: Условные события
Добавлено: Ср авг 20, 2014 8:37 pm
Bagir
Vit писал(а):Вы можете запускать этот код каждый раз при изменении свойства объекта... будет запускаться с переодичностью изменения значения свойства...
Пожалуйста тут немножечко по подробней. Истина у меня уже где то рядом )) Уточню задачу: Есть группа различных объектов с их свойствами. Есть группа приемников, допустим пускай это будут объекты реле. Мне нужно задать несколько разных условий, в которых будет указано, какие реле нужно замкнуть, при положительном условии из свойств объектов.
Пока что вижу это так: Мне
заранее нужно знать, может ли в
будущем изменение свойства объекта вызвать необходимость выполнения какого то действия. И у этих свойств задать выполнение скрипта с проверками при их изменении. Этот общий Скрипт выполняет все проверки, и включает нужные реле. (пример с реле образный, т.к. хорошо показывает значение 0 и 1)
Re: Условные события
Добавлено: Ср авг 20, 2014 8:47 pm
Vit
брррр.....немного запутывает сообщение)))
давайте попорядку...
Можно сделать класс (например класс реле "keySensors")
в этом классе будет несколько объектов (реле)
при изменении свойства одного из вышеуказанных объектов можно выполнять его метод
в котором выполняются какие то действия именно для этого объекта, а также можно указать вот это
тем самым будет вызываться родительский метод (т.е. метод класса)
в котором можете указывать все что угодно (что включить что выключить и т.д.) либо выполнение скриптов как вы хотите
Это приблизительно имели ввиду, или я что то совсем не понял ничего)
Re: Условные события
Добавлено: Ср авг 20, 2014 9:11 pm
Bagir
Теперь запутался я )) Похоже это оно и есть. И похоже все намного проще, чем я напридумывал. Буду пробовать и разбираться. Главное въехать в суть, а дальше будет проще и интересней. Спасибо за помощь. Так бы на сайте раздел "песочница" или "лягушатник" завести. С такими вопросами мне бы конечно именно туда надо. В начале трудновато сразу понять что да как.
Re: Условные события
Добавлено: Ср авг 20, 2014 9:12 pm
Vit
все начинали с чего-то ....главное желание, остальное придет со временем)
начните реализовывать задуманное, а дальше разберемся совместно....для этого и создан форум))