Обновить
38
Андрей@NeX

Пользователь

12
Подписчики
Отправить сообщение
Какие вопросы?
4 повторных animate лучше заменить одним. Получим огромный выигрыш в производительности!
В этой диретокрии лежит вся база сайта
Не только мастерхост боится ;) Точно также был удивлен на хостинге от инфобокса.
Если честно, не понимаю, что в этой команде может быть опасного, что ее отключают.
А зачем его перезаписывать? Он где-то еще определяется?
нельзя ли extract заменить на

extract ( $var_array, EXTR_SKIP )?
Согласен. но тогда можно полностью отказаться от extract(). Ведь намного проще:

function process_template() {
    extract(); // выводим переменные в область видимости функции!
    include (Message.php) // Подключаем вывод компонента
}


Тогда можно отказаться от eval, использовать нормальные редакторы

нельзя ли для extract

я не об этом. Все пути, по которым загружается система, находятся в этом файле. В него я выносил пути для других файлов.
Спасибо. Вопросы сняты.

Прокомментируйте пожалуйста habrahabr.ru/blogs/code_wtf/65121/#comment_1821044 (2,3)
Сейчас точно не вспомню, скорее всего обходной путь найти можно было. (Я был не вкурсе, что параметры в vars.inc.php добавлять нельзя, логично было бы об этом указать в документации). Если в этом файле находятся все подключаемые пути и пароли, то совершенно логично если там будут находиться аналогичные конфиги других компонентов.

Вопрос снят
В нем содержится основные параметры системы. Логично было бы добавлять туда константы, которые отвечают за аналогичные параметры компонентов сторонних разработчиков.

К примеру, у меня в зависимости от параметров, установленных в vars.inc.php подключался (через include) модуль в файле functions.inc.php (модуль интерфейс разработчика). Выносить конфигурацию туда — не логично.
По вашему новому коду смотрю — он действительно намного читабельнее и лучше предыдущего (папка system). Вопрос снят.

А вот где пришлось править исходники:
1) Перенаправление запросов. Т.е. если входная строка соответствует некоторым параметрам (необходимость в запросах к базе есть, т.е. через mod_rewrite не получается) — выводим ту же самую страницу, что открывается по ссылке /news/news1.html (короткие ссылки на новости). Если нет — то 404 страница.
2) Хочу повесить некоторые действия на событие, когда пользователь заходит на сайт. Замечу, что код модуля достаточно часто обновляется. Но без правки исходников сделать этого я не могу.
Допустим я хочу добавить системную переменнную? Или указать параметр в vars.inc.php. После вызова $nc_core->input->prepare_extract(); мне надо заново определять параметры.

Это не удобно, потому что в куче переменных очень работать сложно.
Скажите, а полный отказ от extract($_NETCAT_INPUT); когда ждать можно?
По поводу наследования:
1) Модуль интернет-магазин. Как на одной копии системы создать магазины с разной логикой? Авторизация пользователей. Как для разных сайтов сделать разную форму для авторизации? Как туда, к примеру, добавить еще одно поле и проверять его при входе? — Лезть в исходники системы и править там. А с очередным обновлением все переписывать.

2) Компоненты. Есть формы добавления, условия, действия после добавления — все хорошо. Если, к примеру, мне нужно автоматически добавлять данные? Приходится выводить все действия в сторонние функции или использовать curl. Почему нельзя сделать Message->add(array) и чтобы в нем обрабатывались все действия. Почему для работы с компонентами до сих пор приходится использовать запорсы к базе данных а не перевести их на ORM.

3) Было бы очень удобно, если код компонентов вынесли из бд в локальные файлы. Работы тут немного, а плюсов — куча.
Регистер_глобалс — можете привести те причины, из-за которых нельзя от него отказаться? Не вижу никакой гибкости, когда он включен
отпишусь завтра, сейчас нет доступа к хелпдеску
ребята! С последнего топика на хабре год прошел! никаких глобальных изменение в коде я за это время не заметил. Кое-что подправили, да. Много ужасных моментов повыкидывали. Но все равно продолжаете писать в том же стиле:
— куча переменных
— куча функций
— везде, где можно изобретаете свой велосипед
как результат каша в коде и множество ошибок

Я не против помогать вам в развитии проекта! но если развитие пойдет на устранение этих недостатков и превращение системы в хорошую удобную и масштабируемую cms.

Что лично от нетката хочу увидеть после этого топика я (что и послужило причиной его написания):
1) Быстрого исправления ошибок и выхода патчей
2) ГРАМОТНЫЙ КОД в котором легко разбираться. Сейчас это практически невозможно сделать
3) Нормальную архитектуру, наследование, выключение register_globals, ORM (компоненты, разделы)
4) UTF-8

Сейчас же для любого проекта, кроме сайтов-визиток, вашу систему использовать очень тяжело. Из-за того, что в ней достаточно много мест, которые меняют логику своей работы от версии к версии (это правильно, но желательно описывать это в Readme, что с данной версии вывод раздела с несколькими компонентами работает чуть-чуть по-другому) и невозможности модификации тех частей системы, которых нет в админке для сложных сайтов обноления недоступны.

По поводу модулей — из-за того, что у вас нет никакого подобия наследования ни один сайт, где они используется обновить нереально — перезаписывается весь код модулей, а правки каждый раз вносить достаточно неудобно
в вашу систему поддержки

Изменения в ядро вносятся позитивные, но! Почему! Почему до сих пор повальная практика использования register_globals! Кучи переменных! Полное отсутсвие наследования и появление новых багов от версии к версии. Причем в самых разных местах. Если нужно больше подробностей — в ЛС
Да. Но никаких исправлений нет. А каждй раз пробегаться по исходникоам после установки обновления надоедает.
В суд подавать не грозились.По лицензионному соглашению мы не имеем смотреть исходники и изменять их.

Информация

В рейтинге
Не участвует
Откуда
Челябинская обл., Россия
Дата рождения
Зарегистрирован
Активность