Sly32

Рейтинг
367
Регистрация
29.03.2012
WebStorm #:
где я агитировл за хранение текстов интерфейса в базе? я просто ответил на твой вопрос "а что я буду делать со строками из базы"

Это не ответ.  Или ты не прочитал всю дискуссию.  Гениальный Арбнет сказал что все запросто можно хранить в одной талице, я усомнился, попросил доказать. Ни от тебя ни от него ответа я не увидел - как?

WebStorm #:
я не агитировал, а обратил внимание на безграмотность

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

webinfo #:
Значит, людей вводит в заблуждение заголовок темы.

Ну вот и стоило бы прочитать сначала, о чем речь, прежде чем приходить и демонстрировать отсутствие понимания вопроса.  Для моих проектов нормально использование нескольких ресурсов для хранения данных - Mongo/Dynamo,  Postgresql/Oracle, Redis,  теперь вот на горизонте Neptune графовый.
Мне неинтересно нарисовать сайтик под Adwords, мне интересен сервис, который будет полезен. И повторюсь, по свои задачи - свой способ.  Для авторизации и хранения данных пользователя лучше  sqlDB  ничего не придумано.  А например  создать курс какой то по предмету с квизами, задачами - тут уже noSql.  И так далее. 

Забавно. сначала ты агитируешь за 

WebStorm #:

нужно ввести в указанной таблице поле с идентификатором меню и вытаскивать записи по нему и по языку

а потом оказывается, что 

WebStorm #:
языковые файлы, если вы не в курсе, они есть во многих популярных cms (например DLE) и хранятся также, как и у меня в  отдельных пхп файлах

WebStorm #:
они как раз и не изменяются, в вашем интерпретаторе расходы может быть и одинаковые, а в пхп нет,

По сравнению с чем? Сделать запрос в базу, хранить в коде, хранить в файлах?  Вы уж определитесь. В Питоне тоже весь код компилится в байт-код. Хранить настройки в коде - bad practice, почитайте может книги по чистому коду. Причин изменения кода может быть две -  обнаружение  бага и изменение функциональности. Если мне для расширения меню нужно менять данные в коде - это не код а мусор.

Gettext - тарая и известная штука, полезная, но в моем случае избыточная. С таким же успехом я могу AI использовать для перевода. 
Моя цель - с наименьшими расходами перевести интерфейс.

webinfo #:
Вообще-то во всех популярных CMS почему-то "ходят" и собирают.

Это их право. Я не пишу сайты, я занимаюсь сервисами.  Тут немножко другие амбиции. Упираться в одну базу не вижу причин.

WebStorm #:
хранение в пхп файлах, сам так храню,

Вот интересно, что? Это очень дилетанские подход. Хранить прямо в коде можно данные, которые гарантированно никогда не изменятся после выхода в прод. И даже в этом случае это лучше хранить в переменных окружения, вычитывая их из .env файла. 

и расходы на чтение файла и на работу интерпретатора одинаковые

vitaliy11 #:
нужно по возможности меньше делать запросов к базе данных

Однозначно. Просто тут вебмастера, воспитанные на жутком вордпрессе, котором все собирается из базы. А вместо оптимизации начинается игра с кэшами...

webinfo #:
На сервере всё хранится в файлах на диске или в оперативной памяти. В том числе и БД. Но БД специально оптимизирована именно для работы с данными. Поэтому где "быстрее" - большой вопрос. Зависит от структуры данных и их объёма.

Почему это вопрос? Лично я взял и проверил - это называется профилирование запросов. И как раз на маленьких обьемах БД проигрывает всухую. Я уже писал. файлы, в которых хранятся данные  сами себя читать не умеют. Для этого над БД висит СУБД. И это не  самая легкая штука. Тут не надо оперировать догадками, это проверяется за 5 минут.

webinfo #:
В файлах json можно вообще хранить все данные

Нельзя. Точнее конечно впихнуть-то можно, но вот эффект какой будет? json - для хорошо структурированных данных. SQLDB - гибче, проще работать с разными форматами и типами. 

webinfo #:
Для реализации мультиязычности правильнее использовать те же базы данных.

Я не вижу обоснований, можно тут поподробнее? Почему правильнее? Каждый раз ходить на сервер, чтобы собрать менюшку из 20-30 значений? Думать как реализовать вложеность? 

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

Заморочился и в итоге из языковых настроек выросло полноценное создание меню. Теперь, что бы добавить меню, нужно внести изменения в json файл типа такого-
{
    "en": {
        "subjects": {
            "subjects": {
                "chemistry": "chemistry",
                "math": "mathematics"
            }
        },
        "mentors": "mentors",
        "scheduler": "scheduler",
        "news": "news",
        "adverts": "adverts"
    },
    "ru": {
        "subjects": {
            "предметы": {
                "chemistry": "химия",
                "math": "математика"
            }
        },
        "mentors": "преподаватели",
        "scheduler": "расписание",
        "news": "новости",
        "adverts": "обьявления"
    }
}

И отдельный метод соберет не просто перевод, а из ключей второго уровня создаст меню сразу с переводом. Также добавил уровнеь вложености.  Пока только один, но ничего не мешает сделать их сколько угодно. 
Если из этого вырастет коммерческий проект - редактирование  меню будет проходить в админке, не нужно будет руками править что-то в json-е, при этом будет сразу валидироватся правильность добавления данных. И скорее всего подключу тут уже AI - отдаешь ему структуру  меню  и язык и он сам собирает переводы. 


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

Openso #:
Одного не пойму, зачем вы разводите холивар с этим арбайтеном? Неужели из других его высеров не понятно какой это дилетант.

Ответ простой, скука. Все пытаюсь выжать из него хоть что-то дельное.

Openso #:
У него небойсь и сайта ни одного нет.

Это как раз не самое страшное. Хуже что и ума для того чтобы его сделать у него тоже не сильно много.

ArbNet #:
А то мнит себя мега профи, а как элементарные вещи делаются без готовых инструментов, конструкторов и не знает..

На чудик, можешь посмотреть, как это работает в личку линку отправил.
Если кому интересно пишите, покажу

Всего: 7100