Название: Улучшить install.pl -x Отправлено: sov от 04 Сентября 2013, 12:48:07 Я тут активно правлю Н+ под свои требования, и столкнулся с тем, что одни и те-же файлы правятся не только у меня, но и в модулях других разработчиков.
А поскольку код я перепахиваю довольно сильно, простыми вставками в район хуков не обойтись - приходится делать new. И получается нехорошая штука - если мой модуль вызывается после чужого - пропадают их изменения. Поэтому хотелось-бы иметь механизм, обеспечивающий необходимую последовательность применения патчей к файлу. Допустим, ввести ещё один необязательный параметр order: #<ACTION> file=>'web/users.pl',hook=>'new',order=>'2' Чем меньше число, тем раньше загружать модуль. При отсутствии параметра считать его равным, допустим, 100. Тогда можно будет в своём модуле указать небольшое значение и его изменения применятся раньше, а все остальные, неправленные модули, обработаются позже, и их изменения также применятся. Название: Re: Улучшить install.pl -x Отправлено: Efendy от 04 Сентября 2013, 19:23:35 уже есть такая фича, только она работает иначе: указывается после какого модуля должен запустится данный модуль. Пример:
Код: #<ACTION> file=>'web/yamap.pl',hook=>'filtr_url',require=>['yamap'] можно перечислять модули через запятую Название: Re: Улучшить install.pl -x Отправлено: sov от 04 Сентября 2013, 21:21:33 уже есть такая фича Ясно, спасибо.Другой вопрос. У меня есть куча исправлений вот такого рода: [ 'бонусы' => 'p.category=2' ], меняю на [ 'безналичный платёж' => 'p.category=2' ], или my $for_adm = _('[] [] [] [] []', Adm->get($from_adm)->admin, $cash, $cfg::gr, $msg, Adm->get($to_adm)->admin); на my $for_adm = _('[] [] [] [] []', Adm->get($from_adm)->admin, $msg, $cash, $cfg::gr, Adm->get($to_adm)->admin); Можно, конечно, использовать для таких замен diff/patch, но лучше, если такая штука будет сразу встроена в install.pl. И сразу ещё вопрос - планируете-ли вынести весь текст в отдельные языковые файлы? Название: Re: Улучшить install.pl -x Отправлено: Efendy от 05 Сентября 2013, 14:25:43 Такую "штуку" я могу реализовать если ты расскажешь как она будет работать). Применять обычный патч - это делать не буду т.к. код может меняться и будут патчи только к определенной ревизии. Ну, или выпускать релиз надо...
Перенести тексты в языковые файлы можно, но их там просто дофигища, когда это делать... Название: Re: Улучшить install.pl -x Отправлено: sov от 05 Сентября 2013, 18:12:01 Такую "штуку" я могу реализовать если ты расскажешь как она будет работать). Применять обычный патч - это делать не буду т.к. код может меняться и будут патчи только к определенной ревизии. Сначала применяются все исправления из модулей, а затем отрабатывает эта "штука" - проходит по получившемуся результату и тупо меняет одни строки на другие.Ведь от замены [ 'бонусы' => 'p.category=2' ], на [ 'безналичный платёж' => 'p.category=2' ], код не перестанет работать. А таких исправлений лично у меня довольно много. Как-то так сложилось, что у нас с вами одно и то-же обзывается немного разными словами. И ввиду отсутствия языковых файлов, приходится вносить исправления прямо в коде :( Думаю, для поддержания принятой системы исправлений, правки должны вноситься только в фантомные файлы, а если для нужного файла фантома ещё нет - он должен создаваться. |