Ошибки и предложения

В этом разделе вы можете проголосовать за идеи по открытым проектам. Вы всегда можете предложить свою идею, перейдя на страницу проекта.

Спасибо!

Мы очень рады, что Вам нравится данный проект и вы проголосовали за его развитие.

Работа над задачами по проекту отнимает у его разработчика самое ценное — время, так что небольшая компенсация в виде материальной поддержки поднимет интерес к разработке и позволит сделать больше задач для общей пользы :)

Перейти к проекту Нет, спасибо

<<< Назад

При переходе системы по паттернам возникает их задвоение

Добавлено: 2018-10-27 15:51:56 Sas / Статус: Новая / Проект: Разработка ядра системы MajorDoMo

Пример 1
Имеем глобальный паттерн

Общий контекст (в нем DebMes//say будет Алиса)
и его дочерний паттерн

Алиса ((в нем DebMes/say будет Алиса Алиса)

Пример 2
Имеем глобальный паттерн

Через: в нем DebMes//say будет: через одну минуту выключи свет на кухне)
и его дочерний паттерн

(час|минута) (в нем DebMes//say будет:через одну минуту выключи свет на кухне через одну минуту выключи свет на кухне)
и его дочерний паттерн

тест (в нем DebMes//say будет: через одну минуту тест выключи свет на кухне через одну минуту тест выключи свет на кухне через одну минуту тест выключи свет на кухне через одну минуту тест выключи свет на кухне)

Становится невозможно пользоваться паттернами особенно типа (.+) потому как надо учитывать насколько оно будет больше с каждым переходом и какой при этом будет matches
Приходится использовать в коде паттернав что то типа
$original=implode(' ',array_unique(explode(' ', $original)));
а после preg_match вытаскивать уже что надо, но это очень костыльно.

Задваивает паттерн вот этот кусок кода

if (context_getcurrent()) {
$history=context_get_history().' '.$history;
}
В строке 735 файла patterns.class.php
Если его закаментить то все отлично работае, но возможно это выстрелит еще где то позже, ну и после каждого апдейта его каментить надоедает :)

+9
 
Обсуждение (4)